@celigo/api-specs 0.2.105 → 0.2.107
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/connection.yml +596 -7
- package/dist/export.yml +6 -0
- package/dist/import.yml +14 -5
- package/dist/tool.yml +20 -5
- package/package.json +1 -1
- package/schemas.json +2 -2
package/dist/connection.yml
CHANGED
|
@@ -1573,11 +1573,13 @@ paths:
|
|
|
1573
1573
|
The step runs with the document's own `settings` only: hooks receive
|
|
1574
1574
|
`options.settings` with an `import` key but no `integration` or `flow`
|
|
1575
1575
|
key and no `_flowId` / `_integrationId`; `{{settings.integration.*}}`
|
|
1576
|
-
and `{{settings.flow.*}}` templates render empty.
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1576
|
+
and `{{settings.flow.*}}` templates render empty. To run the document
|
|
1577
|
+
with the context a real run of its parent supplies, use the
|
|
1578
|
+
integration-scoped forms —
|
|
1579
|
+
`POST /v1/integrations/{_integrationId}/flows/{_flowId}/connections/{_connectionId}/import`
|
|
1580
|
+
and the `tools/{_toolId}` and `apis/{_apiId}` siblings. The connection
|
|
1581
|
+
in the path is the one used; a `_connectionId` on the document is
|
|
1582
|
+
ignored.
|
|
1581
1583
|
|
|
1582
1584
|
`POST /v1/imports/{_id}/invoke` runs a saved import the same way with
|
|
1583
1585
|
the same per-record shape; the read-side sibling is the virtual export,
|
|
@@ -1608,8 +1610,10 @@ paths:
|
|
|
1608
1610
|
The step gets the document's own settings only: hooks see `options.settings = {import}`
|
|
1609
1611
|
with no `integration` / `flow` key and no `_flowId` / `_integrationId`, and
|
|
1610
1612
|
`{{settings.integration.*}}` / `{{settings.flow.*}}` render empty. A step whose hooks or
|
|
1611
|
-
templates read those settings builds a different record here than in a flow run —
|
|
1612
|
-
|
|
1613
|
+
templates read those settings builds a different record here than in a flow run — send
|
|
1614
|
+
it through the integration-scoped form
|
|
1615
|
+
(`/v1/integrations/{_integrationId}/flows/{_flowId}/connections/{_connectionId}/import`,
|
|
1616
|
+
or the `tools` / `apis` sibling) instead, which resolves that context from the URL.
|
|
1613
1617
|
- |-
|
|
1614
1618
|
NetSuite and RDBMS documents run here, where `POST /v1/imports/preview` answers
|
|
1615
1619
|
`invalid_adaptor`. A record the input filter excludes comes back
|
|
@@ -1889,6 +1893,540 @@ paths:
|
|
|
1889
1893
|
- field: connection
|
|
1890
1894
|
code: invalid_ref
|
|
1891
1895
|
message: connection not found.
|
|
1896
|
+
/v1/integrations/{_integrationId}/flows/{_flowId}/connections/{_connectionId}/import:
|
|
1897
|
+
post:
|
|
1898
|
+
x-internal: false
|
|
1899
|
+
operationId: invokeVirtualImportForFlow
|
|
1900
|
+
tags:
|
|
1901
|
+
- Connections
|
|
1902
|
+
summary: Run an import document through a connection as a step of a flow
|
|
1903
|
+
description: |-
|
|
1904
|
+
Runs an import document sent in the request body — a virtual import —
|
|
1905
|
+
through the connection, with the flow and the integration in the
|
|
1906
|
+
path supplying the execution context a real run gives the step — hooks receive `options.settings` with the flow's and the integration's settings (a resource with none contributes no key) plus `_flowId` / `_integrationId`, as on the flow's own preview chain.
|
|
1907
|
+
Nothing is saved — the document can be an unsaved draft, a modified
|
|
1908
|
+
copy, or a saved import as fetched — and the request executes against
|
|
1909
|
+
the live destination: a real write; a saved
|
|
1910
|
+
`mockResponse` does not substitute. Pipeline and per-record result are
|
|
1911
|
+
those of `POST /v1/connections/{_id}/import`, which runs the document
|
|
1912
|
+
with its own settings only. The flow must belong to the
|
|
1913
|
+
integration, the connection must be registered to it, and the caller
|
|
1914
|
+
needs manage access to the account or the integration.
|
|
1915
|
+
parameters:
|
|
1916
|
+
- in: path
|
|
1917
|
+
name: _integrationId
|
|
1918
|
+
required: true
|
|
1919
|
+
schema:
|
|
1920
|
+
type: string
|
|
1921
|
+
format: objectId
|
|
1922
|
+
x-celigo-refModel: integrations
|
|
1923
|
+
examples:
|
|
1924
|
+
- 6a0602a45927c70694e1092b
|
|
1925
|
+
description: Integration whose settings feed the execution context; the flow and the connection must belong to it.
|
|
1926
|
+
- in: path
|
|
1927
|
+
name: _flowId
|
|
1928
|
+
required: true
|
|
1929
|
+
schema:
|
|
1930
|
+
type: string
|
|
1931
|
+
format: objectId
|
|
1932
|
+
x-celigo-refModel: flows
|
|
1933
|
+
examples:
|
|
1934
|
+
- 6ac3ee0a12b28806990380d3
|
|
1935
|
+
description: Flow whose settings feed the execution context; must belong to the integration.
|
|
1936
|
+
- in: path
|
|
1937
|
+
name: _connectionId
|
|
1938
|
+
required: true
|
|
1939
|
+
schema:
|
|
1940
|
+
type: string
|
|
1941
|
+
format: objectId
|
|
1942
|
+
x-celigo-refModel: connections
|
|
1943
|
+
examples:
|
|
1944
|
+
- 6a04b5309dc296c4efb1a6e0
|
|
1945
|
+
description: Connection the import document runs through; must be registered to the integration.
|
|
1946
|
+
requestBody:
|
|
1947
|
+
required: true
|
|
1948
|
+
content:
|
|
1949
|
+
application/json:
|
|
1950
|
+
schema:
|
|
1951
|
+
$ref: '#/components/schemas/ScopedVirtualImportRequest'
|
|
1952
|
+
examples:
|
|
1953
|
+
saved_import_one_record:
|
|
1954
|
+
summary: Run a step's saved document against one record
|
|
1955
|
+
value:
|
|
1956
|
+
import:
|
|
1957
|
+
adaptorType: HTTPImport
|
|
1958
|
+
mapping:
|
|
1959
|
+
fields:
|
|
1960
|
+
- extract: email
|
|
1961
|
+
generate: Email
|
|
1962
|
+
lists: []
|
|
1963
|
+
http:
|
|
1964
|
+
relativeURI:
|
|
1965
|
+
- /post
|
|
1966
|
+
method:
|
|
1967
|
+
- POST
|
|
1968
|
+
requestType:
|
|
1969
|
+
- CREATE
|
|
1970
|
+
requestMediaType: json
|
|
1971
|
+
successMediaType: json
|
|
1972
|
+
sendPostMappedData: true
|
|
1973
|
+
formType: http
|
|
1974
|
+
data:
|
|
1975
|
+
- email: contact@acme.com
|
|
1976
|
+
responses:
|
|
1977
|
+
'200':
|
|
1978
|
+
description: |-
|
|
1979
|
+
One result per input record, in input order — accepted, failed at
|
|
1980
|
+
the destination, or ignored by the document's own input filter.
|
|
1981
|
+
content:
|
|
1982
|
+
application/json:
|
|
1983
|
+
schema:
|
|
1984
|
+
type: array
|
|
1985
|
+
items:
|
|
1986
|
+
$ref: '#/components/schemas/ImportRecordResult'
|
|
1987
|
+
examples:
|
|
1988
|
+
accepted:
|
|
1989
|
+
summary: Record accepted — the destination's response body in _json
|
|
1990
|
+
value:
|
|
1991
|
+
- statusCode: 200
|
|
1992
|
+
_json:
|
|
1993
|
+
Email: contact@acme.com
|
|
1994
|
+
_headers:
|
|
1995
|
+
content-type: application/json; charset=utf-8
|
|
1996
|
+
destination_rejected:
|
|
1997
|
+
summary: Destination rejected the record
|
|
1998
|
+
value:
|
|
1999
|
+
- statusCode: 422
|
|
2000
|
+
_json: {}
|
|
2001
|
+
errors:
|
|
2002
|
+
- message: 'Failed to create, update/transform record because com.netledger.common.exceptions.NLUserError: The record type [CUSTOMRECORD_ZZ] is invalid.'
|
|
2003
|
+
code: javaexception
|
|
2004
|
+
source: application
|
|
2005
|
+
resolved: false
|
|
2006
|
+
occurredAt: 1791309460117
|
|
2007
|
+
stage: apiCall
|
|
2008
|
+
classification: missing
|
|
2009
|
+
'400':
|
|
2010
|
+
description: |-
|
|
2011
|
+
`invalid_request`, in one of two shapes: the `errors[]` envelope when
|
|
2012
|
+
the flow does not belong to the integration in the path (also
|
|
2013
|
+
the answer for an unknown integration id), or the bare error array
|
|
2014
|
+
`POST /v1/connections/{_id}/import` returns when the body is
|
|
2015
|
+
malformed — the top-level `import` object or the `data` array is
|
|
2016
|
+
missing.
|
|
2017
|
+
content:
|
|
2018
|
+
application/json:
|
|
2019
|
+
schema:
|
|
2020
|
+
oneOf:
|
|
2021
|
+
- $ref: '#/components/schemas/Error'
|
|
2022
|
+
- title: Body validation errors
|
|
2023
|
+
type: array
|
|
2024
|
+
items:
|
|
2025
|
+
type: object
|
|
2026
|
+
properties:
|
|
2027
|
+
code:
|
|
2028
|
+
type: string
|
|
2029
|
+
message:
|
|
2030
|
+
type: string
|
|
2031
|
+
examples:
|
|
2032
|
+
not_in_integration:
|
|
2033
|
+
summary: The flow is not in the integration
|
|
2034
|
+
value:
|
|
2035
|
+
errors:
|
|
2036
|
+
- code: invalid_request
|
|
2037
|
+
source: integrator
|
|
2038
|
+
message: The flow 6ace605a6ac2e65233ea4c3c does not belong to the integration 6a0215e99a09438890eb3e8b.
|
|
2039
|
+
missing_data:
|
|
2040
|
+
summary: Malformed body — the data array is missing
|
|
2041
|
+
value:
|
|
2042
|
+
- code: invalid_request
|
|
2043
|
+
message: Request body should contain data which is to be imported.
|
|
2044
|
+
'401':
|
|
2045
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
2046
|
+
'403':
|
|
2047
|
+
description: |-
|
|
2048
|
+
`invalid_request` — the connection is not registered to the
|
|
2049
|
+
integration (an unknown connection id answers the same).
|
|
2050
|
+
content:
|
|
2051
|
+
application/json:
|
|
2052
|
+
schema:
|
|
2053
|
+
$ref: '#/components/schemas/Error'
|
|
2054
|
+
examples:
|
|
2055
|
+
connection_not_registered:
|
|
2056
|
+
value:
|
|
2057
|
+
errors:
|
|
2058
|
+
- code: invalid_request
|
|
2059
|
+
source: integrator
|
|
2060
|
+
message: The connection 6a0000000000000000000000 is not registered to the integration 6a0215e99a09438890eb3e8b.
|
|
2061
|
+
'404':
|
|
2062
|
+
description: '`invalid_ref` — no flow with the given id is visible to the account.'
|
|
2063
|
+
content:
|
|
2064
|
+
application/json:
|
|
2065
|
+
schema:
|
|
2066
|
+
$ref: '#/components/schemas/Error'
|
|
2067
|
+
examples:
|
|
2068
|
+
flow_not_found:
|
|
2069
|
+
value:
|
|
2070
|
+
errors:
|
|
2071
|
+
- field: _flowId
|
|
2072
|
+
code: invalid_ref
|
|
2073
|
+
message: unable to find flow for the given id.
|
|
2074
|
+
/v1/integrations/{_integrationId}/tools/{_toolId}/connections/{_connectionId}/import:
|
|
2075
|
+
post:
|
|
2076
|
+
x-internal: false
|
|
2077
|
+
operationId: invokeVirtualImportForTool
|
|
2078
|
+
tags:
|
|
2079
|
+
- Connections
|
|
2080
|
+
summary: Run an import document through a connection as a step of a tool
|
|
2081
|
+
description: |-
|
|
2082
|
+
Runs an import document sent in the request body — a virtual import —
|
|
2083
|
+
through the connection, with the tool and the integration in the
|
|
2084
|
+
path supplying the execution context a real run gives the step — hooks receive `options.settings` with the integration's settings (none when it carries none) plus `_integrationId`, and no flow.
|
|
2085
|
+
Nothing is saved — the document can be an unsaved draft, a modified
|
|
2086
|
+
copy, or a saved import as fetched — and the request executes against
|
|
2087
|
+
the live destination: a real write, not a dry run; a saved
|
|
2088
|
+
`mockResponse` does not substitute. Pipeline and per-record result are
|
|
2089
|
+
those of `POST /v1/connections/{_id}/import`, which runs the document
|
|
2090
|
+
with its own settings only. The tool must belong to the
|
|
2091
|
+
integration, the connection must be registered to it, and the caller
|
|
2092
|
+
needs manage access to the account or the integration.
|
|
2093
|
+
parameters:
|
|
2094
|
+
- in: path
|
|
2095
|
+
name: _integrationId
|
|
2096
|
+
required: true
|
|
2097
|
+
schema:
|
|
2098
|
+
type: string
|
|
2099
|
+
format: objectId
|
|
2100
|
+
x-celigo-refModel: integrations
|
|
2101
|
+
examples:
|
|
2102
|
+
- 6a0602a45927c70694e1092b
|
|
2103
|
+
description: Integration whose settings feed the execution context; the tool and the connection must belong to it.
|
|
2104
|
+
- in: path
|
|
2105
|
+
name: _toolId
|
|
2106
|
+
required: true
|
|
2107
|
+
schema:
|
|
2108
|
+
type: string
|
|
2109
|
+
format: objectId
|
|
2110
|
+
x-celigo-refModel: tools
|
|
2111
|
+
examples:
|
|
2112
|
+
- 6ac3e6667968a10c70628911
|
|
2113
|
+
description: Tool the step belongs to; must belong to the integration.
|
|
2114
|
+
- in: path
|
|
2115
|
+
name: _connectionId
|
|
2116
|
+
required: true
|
|
2117
|
+
schema:
|
|
2118
|
+
type: string
|
|
2119
|
+
format: objectId
|
|
2120
|
+
x-celigo-refModel: connections
|
|
2121
|
+
examples:
|
|
2122
|
+
- 6a04b5309dc296c4efb1a6e0
|
|
2123
|
+
description: Connection the import document runs through; must be registered to the integration.
|
|
2124
|
+
requestBody:
|
|
2125
|
+
required: true
|
|
2126
|
+
content:
|
|
2127
|
+
application/json:
|
|
2128
|
+
schema:
|
|
2129
|
+
$ref: '#/components/schemas/ScopedVirtualImportRequest'
|
|
2130
|
+
examples:
|
|
2131
|
+
saved_import_one_record:
|
|
2132
|
+
summary: Run a step's saved document against one record
|
|
2133
|
+
value:
|
|
2134
|
+
import:
|
|
2135
|
+
adaptorType: HTTPImport
|
|
2136
|
+
mapping:
|
|
2137
|
+
fields:
|
|
2138
|
+
- extract: email
|
|
2139
|
+
generate: Email
|
|
2140
|
+
lists: []
|
|
2141
|
+
http:
|
|
2142
|
+
relativeURI:
|
|
2143
|
+
- /post
|
|
2144
|
+
method:
|
|
2145
|
+
- POST
|
|
2146
|
+
requestType:
|
|
2147
|
+
- CREATE
|
|
2148
|
+
requestMediaType: json
|
|
2149
|
+
successMediaType: json
|
|
2150
|
+
sendPostMappedData: true
|
|
2151
|
+
formType: http
|
|
2152
|
+
data:
|
|
2153
|
+
- email: contact@acme.com
|
|
2154
|
+
responses:
|
|
2155
|
+
'200':
|
|
2156
|
+
description: |-
|
|
2157
|
+
One result per input record, in input order — accepted, failed at
|
|
2158
|
+
the destination, or ignored by the document's own input filter.
|
|
2159
|
+
content:
|
|
2160
|
+
application/json:
|
|
2161
|
+
schema:
|
|
2162
|
+
type: array
|
|
2163
|
+
items:
|
|
2164
|
+
$ref: '#/components/schemas/ImportRecordResult'
|
|
2165
|
+
examples:
|
|
2166
|
+
accepted:
|
|
2167
|
+
summary: Record accepted — the destination's response body in _json
|
|
2168
|
+
value:
|
|
2169
|
+
- statusCode: 200
|
|
2170
|
+
_json:
|
|
2171
|
+
Email: contact@acme.com
|
|
2172
|
+
_headers:
|
|
2173
|
+
content-type: application/json; charset=utf-8
|
|
2174
|
+
destination_rejected:
|
|
2175
|
+
summary: Destination rejected the record
|
|
2176
|
+
value:
|
|
2177
|
+
- statusCode: 422
|
|
2178
|
+
_json: {}
|
|
2179
|
+
errors:
|
|
2180
|
+
- message: 'Failed to create, update/transform record because com.netledger.common.exceptions.NLUserError: The record type [CUSTOMRECORD_ZZ] is invalid.'
|
|
2181
|
+
code: javaexception
|
|
2182
|
+
source: application
|
|
2183
|
+
resolved: false
|
|
2184
|
+
occurredAt: 1791309460117
|
|
2185
|
+
stage: apiCall
|
|
2186
|
+
classification: missing
|
|
2187
|
+
'400':
|
|
2188
|
+
description: |-
|
|
2189
|
+
`invalid_request`, in one of two shapes: the `errors[]` envelope when
|
|
2190
|
+
the tool does not belong to the integration in the path (also
|
|
2191
|
+
the answer for an unknown integration id), or the bare error array
|
|
2192
|
+
`POST /v1/connections/{_id}/import` returns when the body is
|
|
2193
|
+
malformed — the top-level `import` object or the `data` array is
|
|
2194
|
+
missing.
|
|
2195
|
+
content:
|
|
2196
|
+
application/json:
|
|
2197
|
+
schema:
|
|
2198
|
+
oneOf:
|
|
2199
|
+
- $ref: '#/components/schemas/Error'
|
|
2200
|
+
- title: Body validation errors
|
|
2201
|
+
type: array
|
|
2202
|
+
items:
|
|
2203
|
+
type: object
|
|
2204
|
+
properties:
|
|
2205
|
+
code:
|
|
2206
|
+
type: string
|
|
2207
|
+
message:
|
|
2208
|
+
type: string
|
|
2209
|
+
examples:
|
|
2210
|
+
not_in_integration:
|
|
2211
|
+
summary: The tool is not in the integration
|
|
2212
|
+
value:
|
|
2213
|
+
errors:
|
|
2214
|
+
- code: invalid_request
|
|
2215
|
+
source: integrator
|
|
2216
|
+
message: The tool 6ace605a6ac2e65233ea4c3c does not belong to the integration 6a0215e99a09438890eb3e8b.
|
|
2217
|
+
missing_data:
|
|
2218
|
+
summary: Malformed body — the data array is missing
|
|
2219
|
+
value:
|
|
2220
|
+
- code: invalid_request
|
|
2221
|
+
message: Request body should contain data which is to be imported.
|
|
2222
|
+
'401':
|
|
2223
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
2224
|
+
'403':
|
|
2225
|
+
description: |-
|
|
2226
|
+
`invalid_request` — the connection is not registered to the
|
|
2227
|
+
integration (an unknown connection id answers the same).
|
|
2228
|
+
content:
|
|
2229
|
+
application/json:
|
|
2230
|
+
schema:
|
|
2231
|
+
$ref: '#/components/schemas/Error'
|
|
2232
|
+
examples:
|
|
2233
|
+
connection_not_registered:
|
|
2234
|
+
value:
|
|
2235
|
+
errors:
|
|
2236
|
+
- code: invalid_request
|
|
2237
|
+
source: integrator
|
|
2238
|
+
message: The connection 6a0000000000000000000000 is not registered to the integration 6a0215e99a09438890eb3e8b.
|
|
2239
|
+
'404':
|
|
2240
|
+
description: '`invalid_ref` — no tool with the given id is visible to the account.'
|
|
2241
|
+
content:
|
|
2242
|
+
application/json:
|
|
2243
|
+
schema:
|
|
2244
|
+
$ref: '#/components/schemas/Error'
|
|
2245
|
+
examples:
|
|
2246
|
+
tool_not_found:
|
|
2247
|
+
value:
|
|
2248
|
+
errors:
|
|
2249
|
+
- field: _toolId
|
|
2250
|
+
code: invalid_ref
|
|
2251
|
+
message: unable to find tool for the given id.
|
|
2252
|
+
/v1/integrations/{_integrationId}/apis/{_apiId}/connections/{_connectionId}/import:
|
|
2253
|
+
post:
|
|
2254
|
+
x-internal: false
|
|
2255
|
+
operationId: invokeVirtualImportForApi
|
|
2256
|
+
tags:
|
|
2257
|
+
- Connections
|
|
2258
|
+
summary: Run an import document through a connection as a step of an API
|
|
2259
|
+
description: |-
|
|
2260
|
+
Runs an import document sent in the request body — a virtual import —
|
|
2261
|
+
through the connection, with the API and the integration in the
|
|
2262
|
+
path supplying the execution context a real run gives the step — hooks receive `options.settings` with the integration's settings (none when it carries none) plus `_integrationId`, and no flow.
|
|
2263
|
+
Nothing is saved — the document can be an unsaved draft, a modified
|
|
2264
|
+
copy, or a saved import as fetched — and the request executes against
|
|
2265
|
+
the live destination: a real write, not a dry run; a saved
|
|
2266
|
+
`mockResponse` does not substitute. Pipeline and per-record result are
|
|
2267
|
+
those of `POST /v1/connections/{_id}/import`, which runs the document
|
|
2268
|
+
with its own settings only. The API must belong to the
|
|
2269
|
+
integration, the connection must be registered to it, and the caller
|
|
2270
|
+
needs manage access to the account or the integration.
|
|
2271
|
+
parameters:
|
|
2272
|
+
- in: path
|
|
2273
|
+
name: _integrationId
|
|
2274
|
+
required: true
|
|
2275
|
+
schema:
|
|
2276
|
+
type: string
|
|
2277
|
+
format: objectId
|
|
2278
|
+
x-celigo-refModel: integrations
|
|
2279
|
+
examples:
|
|
2280
|
+
- 6a0602a45927c70694e1092b
|
|
2281
|
+
description: Integration whose settings feed the execution context; the API and the connection must belong to it.
|
|
2282
|
+
- in: path
|
|
2283
|
+
name: _apiId
|
|
2284
|
+
required: true
|
|
2285
|
+
schema:
|
|
2286
|
+
type: string
|
|
2287
|
+
format: objectId
|
|
2288
|
+
x-celigo-refModel: apis
|
|
2289
|
+
examples:
|
|
2290
|
+
- 6ac5966390f6ab94d6429012
|
|
2291
|
+
description: API the step belongs to; must belong to the integration.
|
|
2292
|
+
- in: path
|
|
2293
|
+
name: _connectionId
|
|
2294
|
+
required: true
|
|
2295
|
+
schema:
|
|
2296
|
+
type: string
|
|
2297
|
+
format: objectId
|
|
2298
|
+
x-celigo-refModel: connections
|
|
2299
|
+
examples:
|
|
2300
|
+
- 6a04b5309dc296c4efb1a6e0
|
|
2301
|
+
description: Connection the import document runs through; must be registered to the integration.
|
|
2302
|
+
requestBody:
|
|
2303
|
+
required: true
|
|
2304
|
+
content:
|
|
2305
|
+
application/json:
|
|
2306
|
+
schema:
|
|
2307
|
+
$ref: '#/components/schemas/ScopedVirtualImportRequest'
|
|
2308
|
+
examples:
|
|
2309
|
+
saved_import_one_record:
|
|
2310
|
+
summary: Run a step's saved document against one record
|
|
2311
|
+
value:
|
|
2312
|
+
import:
|
|
2313
|
+
adaptorType: HTTPImport
|
|
2314
|
+
mapping:
|
|
2315
|
+
fields:
|
|
2316
|
+
- extract: email
|
|
2317
|
+
generate: Email
|
|
2318
|
+
lists: []
|
|
2319
|
+
http:
|
|
2320
|
+
relativeURI:
|
|
2321
|
+
- /post
|
|
2322
|
+
method:
|
|
2323
|
+
- POST
|
|
2324
|
+
requestType:
|
|
2325
|
+
- CREATE
|
|
2326
|
+
requestMediaType: json
|
|
2327
|
+
successMediaType: json
|
|
2328
|
+
sendPostMappedData: true
|
|
2329
|
+
formType: http
|
|
2330
|
+
data:
|
|
2331
|
+
- email: contact@acme.com
|
|
2332
|
+
responses:
|
|
2333
|
+
'200':
|
|
2334
|
+
description: |-
|
|
2335
|
+
One result per input record, in input order — accepted, failed at
|
|
2336
|
+
the destination, or ignored by the document's own input filter.
|
|
2337
|
+
content:
|
|
2338
|
+
application/json:
|
|
2339
|
+
schema:
|
|
2340
|
+
type: array
|
|
2341
|
+
items:
|
|
2342
|
+
$ref: '#/components/schemas/ImportRecordResult'
|
|
2343
|
+
examples:
|
|
2344
|
+
accepted:
|
|
2345
|
+
summary: Record accepted — the destination's response body in _json
|
|
2346
|
+
value:
|
|
2347
|
+
- statusCode: 200
|
|
2348
|
+
_json:
|
|
2349
|
+
Email: contact@acme.com
|
|
2350
|
+
_headers:
|
|
2351
|
+
content-type: application/json; charset=utf-8
|
|
2352
|
+
destination_rejected:
|
|
2353
|
+
summary: Destination rejected the record
|
|
2354
|
+
value:
|
|
2355
|
+
- statusCode: 422
|
|
2356
|
+
_json: {}
|
|
2357
|
+
errors:
|
|
2358
|
+
- message: 'Failed to create, update/transform record because com.netledger.common.exceptions.NLUserError: The record type [CUSTOMRECORD_ZZ] is invalid.'
|
|
2359
|
+
code: javaexception
|
|
2360
|
+
source: application
|
|
2361
|
+
resolved: false
|
|
2362
|
+
occurredAt: 1791309460117
|
|
2363
|
+
stage: apiCall
|
|
2364
|
+
classification: missing
|
|
2365
|
+
'400':
|
|
2366
|
+
description: |-
|
|
2367
|
+
`invalid_request`, in one of two shapes: the `errors[]` envelope when
|
|
2368
|
+
the API does not belong to the integration in the path (also
|
|
2369
|
+
the answer for an unknown integration id), or the bare error array
|
|
2370
|
+
`POST /v1/connections/{_id}/import` returns when the body is
|
|
2371
|
+
malformed — the top-level `import` object or the `data` array is
|
|
2372
|
+
missing.
|
|
2373
|
+
content:
|
|
2374
|
+
application/json:
|
|
2375
|
+
schema:
|
|
2376
|
+
oneOf:
|
|
2377
|
+
- $ref: '#/components/schemas/Error'
|
|
2378
|
+
- title: Body validation errors
|
|
2379
|
+
type: array
|
|
2380
|
+
items:
|
|
2381
|
+
type: object
|
|
2382
|
+
properties:
|
|
2383
|
+
code:
|
|
2384
|
+
type: string
|
|
2385
|
+
message:
|
|
2386
|
+
type: string
|
|
2387
|
+
examples:
|
|
2388
|
+
not_in_integration:
|
|
2389
|
+
summary: The API is not in the integration
|
|
2390
|
+
value:
|
|
2391
|
+
errors:
|
|
2392
|
+
- code: invalid_request
|
|
2393
|
+
source: integrator
|
|
2394
|
+
message: The api 6ace605a6ac2e65233ea4c3c does not belong to the integration 6a0215e99a09438890eb3e8b.
|
|
2395
|
+
missing_data:
|
|
2396
|
+
summary: Malformed body — the data array is missing
|
|
2397
|
+
value:
|
|
2398
|
+
- code: invalid_request
|
|
2399
|
+
message: Request body should contain data which is to be imported.
|
|
2400
|
+
'401':
|
|
2401
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
2402
|
+
'403':
|
|
2403
|
+
description: |-
|
|
2404
|
+
`invalid_request` — the connection is not registered to the
|
|
2405
|
+
integration (an unknown connection id answers the same).
|
|
2406
|
+
content:
|
|
2407
|
+
application/json:
|
|
2408
|
+
schema:
|
|
2409
|
+
$ref: '#/components/schemas/Error'
|
|
2410
|
+
examples:
|
|
2411
|
+
connection_not_registered:
|
|
2412
|
+
value:
|
|
2413
|
+
errors:
|
|
2414
|
+
- code: invalid_request
|
|
2415
|
+
source: integrator
|
|
2416
|
+
message: The connection 6a0000000000000000000000 is not registered to the integration 6a0215e99a09438890eb3e8b.
|
|
2417
|
+
'404':
|
|
2418
|
+
description: '`invalid_ref` — no API with the given id is visible to the account.'
|
|
2419
|
+
content:
|
|
2420
|
+
application/json:
|
|
2421
|
+
schema:
|
|
2422
|
+
$ref: '#/components/schemas/Error'
|
|
2423
|
+
examples:
|
|
2424
|
+
api_not_found:
|
|
2425
|
+
value:
|
|
2426
|
+
errors:
|
|
2427
|
+
- field: _apiId
|
|
2428
|
+
code: invalid_ref
|
|
2429
|
+
message: unable to find api for the given id.
|
|
1892
2430
|
/v1/connections/{_id}/debug:
|
|
1893
2431
|
get:
|
|
1894
2432
|
x-internal: false
|
|
@@ -9378,6 +9916,57 @@ components:
|
|
|
9378
9916
|
type: string
|
|
9379
9917
|
additionalProperties: true
|
|
9380
9918
|
additionalProperties: true
|
|
9919
|
+
ScopedVirtualImportRequest:
|
|
9920
|
+
type: object
|
|
9921
|
+
description: |-
|
|
9922
|
+
The import document to run and the records to run through it — the
|
|
9923
|
+
same body as `POST /v1/connections/{_id}/import`. The parent (flow,
|
|
9924
|
+
tool or API) and the integration in the URL supply the execution
|
|
9925
|
+
context; the body carries no `settings`.
|
|
9926
|
+
x-celigo-ai-guidance:
|
|
9927
|
+
- |-
|
|
9928
|
+
This executes the request against the live destination — a real write, even when the
|
|
9929
|
+
document carries a saved `mockResponse`. Treat it like a run of the parent, never like a
|
|
9930
|
+
preview.
|
|
9931
|
+
- |-
|
|
9932
|
+
Hooks and templates see the context a real run of the parent gives them: for a flow step,
|
|
9933
|
+
`options.settings` carries `import`, `flow` and `integration` with `_flowId` /
|
|
9934
|
+
`_integrationId` — identical to the flow's own preview chain; for a tool or an API step it
|
|
9935
|
+
carries `import` and `integration` with `_integrationId` and no flow. A parent or
|
|
9936
|
+
integration with no settings contributes no key at all (no `integration` key when the
|
|
9937
|
+
integration carries none).
|
|
9938
|
+
- |-
|
|
9939
|
+
The connection in the path must be registered to the integration in the path (flows and
|
|
9940
|
+
tools register the connections their steps use) — an unregistered or unknown connection is a
|
|
9941
|
+
`403 invalid_request`; a parent that is not in the integration is a `400 invalid_request` in
|
|
9942
|
+
the `errors[]` envelope (an unknown integration id answers the same, the membership check
|
|
9943
|
+
running first); an unknown flow, tool or API id is a `404 invalid_ref` on the parent's path
|
|
9944
|
+
field. NetSuite and RDBMS documents run here, where `POST /v1/imports/preview` answers
|
|
9945
|
+
`invalid_adaptor`. A record the input filter excludes comes back
|
|
9946
|
+
`{ignored: true, stage: "inputFilter"}` and was never sent; omitting `import` or `data` is a
|
|
9947
|
+
`400 invalid_request` in the bare error array `POST /v1/connections/{_id}/import` returns.
|
|
9948
|
+
required:
|
|
9949
|
+
- import
|
|
9950
|
+
- data
|
|
9951
|
+
properties:
|
|
9952
|
+
import:
|
|
9953
|
+
type: object
|
|
9954
|
+
description: |-
|
|
9955
|
+
The import document to run (mirror of the `POST /v1/imports` body
|
|
9956
|
+
shape); `name` and `_connectionId` are not needed, and a saved
|
|
9957
|
+
import's `_id` and metadata may ride along unchanged.
|
|
9958
|
+
Adaptor-specific blocks (`http`, `netsuite_da`, `rdbms`, …),
|
|
9959
|
+
`mapping`, `filter` and `hooks` apply exactly as on a saved import.
|
|
9960
|
+
additionalProperties: true
|
|
9961
|
+
data:
|
|
9962
|
+
type: array
|
|
9963
|
+
description: |-
|
|
9964
|
+
Records to run through the document, each becoming one result. An
|
|
9965
|
+
empty array returns an empty array; omitting `data` is rejected.
|
|
9966
|
+
items:
|
|
9967
|
+
type: object
|
|
9968
|
+
additionalProperties: true
|
|
9969
|
+
additionalProperties: true
|
|
9381
9970
|
ConnectionMetadataRequest:
|
|
9382
9971
|
type: object
|
|
9383
9972
|
description: |-
|
package/dist/export.yml
CHANGED
|
@@ -10775,6 +10775,12 @@ components:
|
|
|
10775
10775
|
- F
|
|
10776
10776
|
- - PurchOrd
|
|
10777
10777
|
x-celigo-ai-guidance:
|
|
10778
|
+
- |-
|
|
10779
|
+
The incoming record is the Handlebars root here: write `{{poNumber}}`, not
|
|
10780
|
+
`{{record.poNumber}}`. The Flow Builder's step preview rejects the
|
|
10781
|
+
`record.`-rooted form with `handlebars_template_parse_error` ("poNumber" not
|
|
10782
|
+
defined in undefined) while a flow run still renders it — write the bare path
|
|
10783
|
+
so the criterion can be step-previewed.
|
|
10778
10784
|
- |-
|
|
10779
10785
|
A Handlebars path the incoming record does not carry fails the render with
|
|
10780
10786
|
`handlebars_template_parse_error` ("Failed to generate criteria.N.searchValue
|
package/dist/import.yml
CHANGED
|
@@ -3787,6 +3787,12 @@ components:
|
|
|
3787
3787
|
description: |
|
|
3788
3788
|
Number of records to process per batch. Controls how many records are sent
|
|
3789
3789
|
to NetSuite in a single API call. Typical values: 50-200.
|
|
3790
|
+
x-celigo-ai-guidance:
|
|
3791
|
+
- |-
|
|
3792
|
+
Batching applies to the record writes. The `internalIdLookup` searches for a
|
|
3793
|
+
page of records are issued ahead of the writes and independently of `batchSize`,
|
|
3794
|
+
so `batchSize: 1` does not make the existing-record lookup run one record at a
|
|
3795
|
+
time.
|
|
3790
3796
|
internalIdLookup:
|
|
3791
3797
|
type: object
|
|
3792
3798
|
description: |-
|
|
@@ -3805,11 +3811,14 @@ components:
|
|
|
3805
3811
|
record-field lookups (`custbody_*` / `custrecord_*` /
|
|
3806
3812
|
`custentity_*`), and the `anyof` operator that the simple form
|
|
3807
3813
|
doesn't cover. When `expression` is set, `searchField` /
|
|
3808
|
-
`operator` / `extract` are ignored.
|
|
3809
|
-
|
|
3810
|
-
|
|
3811
|
-
|
|
3812
|
-
|
|
3814
|
+
`operator` / `extract` are ignored. The expression form is the
|
|
3815
|
+
common pattern in practice.
|
|
3816
|
+
- |-
|
|
3817
|
+
The lookup result is what identifies the target record; on `update` a source
|
|
3818
|
+
field mapped to `internalid` is overridden by it. When the incoming record
|
|
3819
|
+
already carries the NetSuite internal ID, point the lookup at that field
|
|
3820
|
+
(simple form with `extract`, or an expression on the id field) rather than
|
|
3821
|
+
removing the lookup.
|
|
3813
3822
|
properties:
|
|
3814
3823
|
extract:
|
|
3815
3824
|
type: string
|
package/dist/tool.yml
CHANGED
|
@@ -15360,6 +15360,12 @@ components:
|
|
|
15360
15360
|
description: |
|
|
15361
15361
|
Number of records to process per batch. Controls how many records are sent
|
|
15362
15362
|
to NetSuite in a single API call. Typical values: 50-200.
|
|
15363
|
+
x-celigo-ai-guidance:
|
|
15364
|
+
- |-
|
|
15365
|
+
Batching applies to the record writes. The `internalIdLookup` searches for a
|
|
15366
|
+
page of records are issued ahead of the writes and independently of `batchSize`,
|
|
15367
|
+
so `batchSize: 1` does not make the existing-record lookup run one record at a
|
|
15368
|
+
time.
|
|
15363
15369
|
internalIdLookup:
|
|
15364
15370
|
type: object
|
|
15365
15371
|
description: |-
|
|
@@ -15378,11 +15384,14 @@ components:
|
|
|
15378
15384
|
record-field lookups (`custbody_*` / `custrecord_*` /
|
|
15379
15385
|
`custentity_*`), and the `anyof` operator that the simple form
|
|
15380
15386
|
doesn't cover. When `expression` is set, `searchField` /
|
|
15381
|
-
`operator` / `extract` are ignored.
|
|
15382
|
-
|
|
15383
|
-
|
|
15384
|
-
|
|
15385
|
-
|
|
15387
|
+
`operator` / `extract` are ignored. The expression form is the
|
|
15388
|
+
common pattern in practice.
|
|
15389
|
+
- |-
|
|
15390
|
+
The lookup result is what identifies the target record; on `update` a source
|
|
15391
|
+
field mapped to `internalid` is overridden by it. When the incoming record
|
|
15392
|
+
already carries the NetSuite internal ID, point the lookup at that field
|
|
15393
|
+
(simple form with `extract`, or an expression on the id field) rather than
|
|
15394
|
+
removing the lookup.
|
|
15386
15395
|
properties:
|
|
15387
15396
|
extract:
|
|
15388
15397
|
type: string
|
|
@@ -34865,6 +34874,12 @@ components:
|
|
|
34865
34874
|
- F
|
|
34866
34875
|
- - PurchOrd
|
|
34867
34876
|
x-celigo-ai-guidance:
|
|
34877
|
+
- |-
|
|
34878
|
+
The incoming record is the Handlebars root here: write `{{poNumber}}`, not
|
|
34879
|
+
`{{record.poNumber}}`. The Flow Builder's step preview rejects the
|
|
34880
|
+
`record.`-rooted form with `handlebars_template_parse_error` ("poNumber" not
|
|
34881
|
+
defined in undefined) while a flow run still renders it — write the bare path
|
|
34882
|
+
so the criterion can be step-previewed.
|
|
34868
34883
|
- |-
|
|
34869
34884
|
A Handlebars path the incoming record does not carry fails the render with
|
|
34870
34885
|
`handlebars_template_parse_error` ("Failed to generate criteria.N.searchValue
|
package/package.json
CHANGED