@celigo/api-specs 0.2.1
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/LICENSE +21 -0
- package/README.md +119 -0
- package/dist/account.yml +592 -0
- package/dist/agent.yml +908 -0
- package/dist/ai-agent.yml +5471 -0
- package/dist/api.yml +4140 -0
- package/dist/apim.yml +1286 -0
- package/dist/asynchelper.yml +3391 -0
- package/dist/audit.yml +2006 -0
- package/dist/connection.yml +8665 -0
- package/dist/connector.yml +1406 -0
- package/dist/ediprofile.yml +911 -0
- package/dist/editransaction.yml +1210 -0
- package/dist/enduser.yml +1724 -0
- package/dist/environment.yml +568 -0
- package/dist/eventreport.yml +692 -0
- package/dist/export.yml +17610 -0
- package/dist/filedefinition.yml +1396 -0
- package/dist/filestorage.yml +3102 -0
- package/dist/flow.yml +7928 -0
- package/dist/guardrail.yml +2763 -0
- package/dist/httpconnector.yml +2277 -0
- package/dist/httpconnectorendpoint.yml +722 -0
- package/dist/httpconnectorresource.yml +396 -0
- package/dist/iclient.yml +4452 -0
- package/dist/import.yml +15381 -0
- package/dist/integration.yml +4406 -0
- package/dist/job.yml +2014 -0
- package/dist/lookupcache.yml +1325 -0
- package/dist/marketplace.yml +685 -0
- package/dist/mcp-oauth-provider.yml +590 -0
- package/dist/mcp-server.yml +2656 -0
- package/dist/notification.yml +488 -0
- package/dist/processor.yml +1253 -0
- package/dist/profile.yml +455 -0
- package/dist/recyclebin.yml +768 -0
- package/dist/script.yml +1128 -0
- package/dist/stack.yml +1291 -0
- package/dist/state.yml +894 -0
- package/dist/subscription.yml +1405 -0
- package/dist/sync.yml +4857 -0
- package/dist/tag.yml +553 -0
- package/dist/template.yml +897 -0
- package/dist/tool.yml +33656 -0
- package/dist/tradingpartnerconnector.yml +1490 -0
- package/dist/user.yml +831 -0
- package/package.json +41 -0
- package/schemas.json +8420 -0
package/dist/user.yml
ADDED
|
@@ -0,0 +1,831 @@
|
|
|
1
|
+
openapi: 3.2.0
|
|
2
|
+
info:
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
title: Users
|
|
5
|
+
description: API for managing user access to a Celigo account — invitations, access levels, and per-integration permissions.
|
|
6
|
+
x-celigo-ai-guidance:
|
|
7
|
+
- |-
|
|
8
|
+
API for managing account users - inviting, updating permissions,
|
|
9
|
+
and removing access.
|
|
10
|
+
servers:
|
|
11
|
+
- url: https://api.integrator.io
|
|
12
|
+
description: Production (US / default region)
|
|
13
|
+
- url: https://api.eu.integrator.io
|
|
14
|
+
description: Production (EU region)
|
|
15
|
+
- url: https://api.au.integrator.io
|
|
16
|
+
description: Production (AU region)
|
|
17
|
+
- url: https://api.ca.integrator.io
|
|
18
|
+
description: Production (CA region)
|
|
19
|
+
security:
|
|
20
|
+
- bearerAuth: []
|
|
21
|
+
tags:
|
|
22
|
+
- name: Users
|
|
23
|
+
description: |-
|
|
24
|
+
Manage user access to a Celigo account. Each record represents a user's
|
|
25
|
+
access grant, including their access level and invitation status.
|
|
26
|
+
|
|
27
|
+
Access is controlled at two levels:
|
|
28
|
+
- **accessLevel** — account-wide role (administrator, manage, monitor, etc.)
|
|
29
|
+
- **integrationAccessLevel** — per-integration overrides for finer control.
|
|
30
|
+
|
|
31
|
+
The account owner is not included — only invited users appear. Users can
|
|
32
|
+
be disabled (reversible) or permanently removed.
|
|
33
|
+
|
|
34
|
+
## User schema
|
|
35
|
+
|
|
36
|
+
{% openapi-schemas spec="user" schemas="User" grouped="true" %}
|
|
37
|
+
paths:
|
|
38
|
+
/v1/ashares:
|
|
39
|
+
get:
|
|
40
|
+
x-internal: false
|
|
41
|
+
summary: List users
|
|
42
|
+
description: |-
|
|
43
|
+
Returns all users with access to the account. The account owner is
|
|
44
|
+
not included — only invited users appear.
|
|
45
|
+
operationId: listUsers
|
|
46
|
+
tags:
|
|
47
|
+
- Users
|
|
48
|
+
parameters:
|
|
49
|
+
- name: userType
|
|
50
|
+
in: query
|
|
51
|
+
required: false
|
|
52
|
+
schema:
|
|
53
|
+
type: string
|
|
54
|
+
enum:
|
|
55
|
+
- workspace
|
|
56
|
+
- end-user
|
|
57
|
+
x-enumDescriptions:
|
|
58
|
+
workspace: Workspace (team member) access records — the records this endpoint returns.
|
|
59
|
+
end-user: End-user records; always empty here (204) — list them via the End Users API instead.
|
|
60
|
+
description: |-
|
|
61
|
+
Filter by access-record type. `workspace` returns the same records as
|
|
62
|
+
an unfiltered call; `end-user` always returns 204 because end users
|
|
63
|
+
are served by the End Users API, not this endpoint.
|
|
64
|
+
responses:
|
|
65
|
+
'200':
|
|
66
|
+
description: All users with access to the account.
|
|
67
|
+
x-celigo-ai-guidance:
|
|
68
|
+
- Successfully retrieved list of users
|
|
69
|
+
content:
|
|
70
|
+
application/json:
|
|
71
|
+
schema:
|
|
72
|
+
type: array
|
|
73
|
+
items:
|
|
74
|
+
$ref: '#/components/schemas/User'
|
|
75
|
+
examples:
|
|
76
|
+
default:
|
|
77
|
+
value:
|
|
78
|
+
- _id: 6798f4dc43db9184f4bc8ee0
|
|
79
|
+
accepted: true
|
|
80
|
+
userType: workspace
|
|
81
|
+
accessLevel: administrator
|
|
82
|
+
integrationAccessLevel: []
|
|
83
|
+
accountSSORequired: false
|
|
84
|
+
accountMFARequired: false
|
|
85
|
+
isProductionAdmin: true
|
|
86
|
+
allowIntegrationWorkspaceCreation: false
|
|
87
|
+
createdVia: existing_account_invite
|
|
88
|
+
lastModified: '2026-05-02T17:02:59.371Z'
|
|
89
|
+
createdAt: '2025-01-28T15:16:44.327Z'
|
|
90
|
+
lastSignIn: '2026-05-02T17:02:59.370Z'
|
|
91
|
+
sharedWithUser:
|
|
92
|
+
_id: 624774a6a7574d3ed9f9a5cc
|
|
93
|
+
email: admin@example.com
|
|
94
|
+
name: Account Admin
|
|
95
|
+
allowedToResetMFA: false
|
|
96
|
+
accountSSOLinked: not_linked
|
|
97
|
+
- _id: 690954729ef09ab572f65e5d
|
|
98
|
+
accepted: true
|
|
99
|
+
userType: workspace
|
|
100
|
+
integrationAccessLevel:
|
|
101
|
+
- _integrationId: 68f52162f00a35a1b26eaafb
|
|
102
|
+
accessLevel: manage
|
|
103
|
+
- _integrationId: 6842261335b64c0bcb308e4f
|
|
104
|
+
accessLevel: monitor
|
|
105
|
+
accountSSORequired: false
|
|
106
|
+
accountMFARequired: false
|
|
107
|
+
allowIntegrationWorkspaceCreation: false
|
|
108
|
+
createdVia: existing_account_invite
|
|
109
|
+
lastModified: '2026-04-09T18:48:15.653Z'
|
|
110
|
+
createdAt: '2025-11-04T01:18:42.025Z'
|
|
111
|
+
sharedWithUser:
|
|
112
|
+
_id: 69095422a6fa76e8c7c170eb
|
|
113
|
+
email: contributor@example.com
|
|
114
|
+
name: Integration User
|
|
115
|
+
allowedToResetMFA: false
|
|
116
|
+
accountSSOLinked: not_linked
|
|
117
|
+
'204':
|
|
118
|
+
description: No users exist in the account
|
|
119
|
+
'401':
|
|
120
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
121
|
+
/v1/ashares/{_id}:
|
|
122
|
+
get:
|
|
123
|
+
x-internal: false
|
|
124
|
+
summary: Get a user
|
|
125
|
+
operationId: getUser
|
|
126
|
+
tags:
|
|
127
|
+
- Users
|
|
128
|
+
description: Retrieve a single user's access record by its id.
|
|
129
|
+
parameters:
|
|
130
|
+
- name: _id
|
|
131
|
+
in: path
|
|
132
|
+
required: true
|
|
133
|
+
description: User access-record id.
|
|
134
|
+
schema:
|
|
135
|
+
type: string
|
|
136
|
+
format: objectId
|
|
137
|
+
responses:
|
|
138
|
+
'200':
|
|
139
|
+
description: The user record.
|
|
140
|
+
content:
|
|
141
|
+
application/json:
|
|
142
|
+
schema:
|
|
143
|
+
$ref: '#/components/schemas/User'
|
|
144
|
+
examples:
|
|
145
|
+
default:
|
|
146
|
+
value:
|
|
147
|
+
_id: 6798f4dc43db9184f4bc8ee0
|
|
148
|
+
accepted: true
|
|
149
|
+
accessLevel: administrator
|
|
150
|
+
integrationAccessLevel: []
|
|
151
|
+
accountSSORequired: false
|
|
152
|
+
accountMFARequired: false
|
|
153
|
+
isProductionAdmin: true
|
|
154
|
+
allowIntegrationWorkspaceCreation: false
|
|
155
|
+
createdVia: existing_account_invite
|
|
156
|
+
lastModified: '2026-05-02T17:02:59.371Z'
|
|
157
|
+
createdAt: '2025-01-28T15:16:44.327Z'
|
|
158
|
+
lastSignIn: '2026-05-02T17:02:59.370Z'
|
|
159
|
+
sharedWithUser:
|
|
160
|
+
_id: 624774a6a7574d3ed9f9a5cc
|
|
161
|
+
email: admin@example.com
|
|
162
|
+
name: Account Admin
|
|
163
|
+
allowedToResetMFA: false
|
|
164
|
+
accountSSOLinked: not_linked
|
|
165
|
+
'401':
|
|
166
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
167
|
+
'404':
|
|
168
|
+
$ref: '#/components/responses/404-not-found'
|
|
169
|
+
put:
|
|
170
|
+
x-internal: false
|
|
171
|
+
summary: Update a user
|
|
172
|
+
operationId: updateUser
|
|
173
|
+
tags:
|
|
174
|
+
- Users
|
|
175
|
+
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.
|
|
180
|
+
parameters:
|
|
181
|
+
- name: _id
|
|
182
|
+
in: path
|
|
183
|
+
required: true
|
|
184
|
+
description: User access-record id.
|
|
185
|
+
schema:
|
|
186
|
+
type: string
|
|
187
|
+
format: objectId
|
|
188
|
+
requestBody:
|
|
189
|
+
required: true
|
|
190
|
+
content:
|
|
191
|
+
application/json:
|
|
192
|
+
schema:
|
|
193
|
+
$ref: '#/components/schemas/Request'
|
|
194
|
+
examples:
|
|
195
|
+
changeAccessLevel:
|
|
196
|
+
summary: Change to administrator
|
|
197
|
+
value:
|
|
198
|
+
accessLevel: administrator
|
|
199
|
+
integrationOnly:
|
|
200
|
+
summary: Integration-only access
|
|
201
|
+
value:
|
|
202
|
+
integrationAccessLevel:
|
|
203
|
+
- _integrationId: 68f52162f00a35a1b26eaafb
|
|
204
|
+
accessLevel: manage
|
|
205
|
+
- _integrationId: 6842261335b64c0bcb308e4f
|
|
206
|
+
accessLevel: monitor
|
|
207
|
+
disableUser:
|
|
208
|
+
summary: Re-enable a disabled user
|
|
209
|
+
value:
|
|
210
|
+
disabled: false
|
|
211
|
+
responses:
|
|
212
|
+
'204':
|
|
213
|
+
description: User updated.
|
|
214
|
+
'400':
|
|
215
|
+
$ref: '#/components/responses/400-bad-request'
|
|
216
|
+
'401':
|
|
217
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
218
|
+
'404':
|
|
219
|
+
$ref: '#/components/responses/404-not-found'
|
|
220
|
+
delete:
|
|
221
|
+
x-internal: false
|
|
222
|
+
summary: Delete a user
|
|
223
|
+
operationId: deleteUser
|
|
224
|
+
tags:
|
|
225
|
+
- Users
|
|
226
|
+
description: |-
|
|
227
|
+
Remove a user from the current account. This is irreversible — for a
|
|
228
|
+
reversible alternative, use `PUT /v1/ashares/{_id}/disable`. Works
|
|
229
|
+
on both accepted and pending invites.
|
|
230
|
+
parameters:
|
|
231
|
+
- name: _id
|
|
232
|
+
in: path
|
|
233
|
+
required: true
|
|
234
|
+
description: User access-record id.
|
|
235
|
+
schema:
|
|
236
|
+
type: string
|
|
237
|
+
format: objectId
|
|
238
|
+
responses:
|
|
239
|
+
'204':
|
|
240
|
+
description: User removed from the account.
|
|
241
|
+
'401':
|
|
242
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
243
|
+
'404':
|
|
244
|
+
$ref: '#/components/responses/404-not-found'
|
|
245
|
+
/v1/ashares/{_userId}/disable:
|
|
246
|
+
put:
|
|
247
|
+
x-internal: false
|
|
248
|
+
operationId: toggleUserDisabled
|
|
249
|
+
tags:
|
|
250
|
+
- Users
|
|
251
|
+
summary: Toggle a user's account access (disable or re-enable)
|
|
252
|
+
description: |-
|
|
253
|
+
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`.
|
|
256
|
+
parameters:
|
|
257
|
+
- name: _userId
|
|
258
|
+
in: path
|
|
259
|
+
required: true
|
|
260
|
+
description: |-
|
|
261
|
+
The ashare record `_id` from `GET /v1/ashares` — despite the
|
|
262
|
+
parameter name, this is NOT `sharedWithUser._id`.
|
|
263
|
+
schema:
|
|
264
|
+
type: string
|
|
265
|
+
format: objectId
|
|
266
|
+
requestBody:
|
|
267
|
+
required: false
|
|
268
|
+
content:
|
|
269
|
+
application/json:
|
|
270
|
+
schema:
|
|
271
|
+
type: object
|
|
272
|
+
description: Empty body — the target is identified by the path parameter alone.
|
|
273
|
+
examples:
|
|
274
|
+
default:
|
|
275
|
+
summary: Empty body
|
|
276
|
+
value: {}
|
|
277
|
+
responses:
|
|
278
|
+
'204':
|
|
279
|
+
description: User access toggled.
|
|
280
|
+
'400':
|
|
281
|
+
$ref: '#/components/responses/400-bad-request'
|
|
282
|
+
'401':
|
|
283
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
284
|
+
'404':
|
|
285
|
+
description: User not found.
|
|
286
|
+
content:
|
|
287
|
+
application/json:
|
|
288
|
+
schema:
|
|
289
|
+
$ref: '#/components/schemas/Error'
|
|
290
|
+
examples:
|
|
291
|
+
ashare_not_found:
|
|
292
|
+
value:
|
|
293
|
+
errors:
|
|
294
|
+
- code: invalid_ref
|
|
295
|
+
message: AShare not found.
|
|
296
|
+
/v1/ashares/{_id}/reinvite:
|
|
297
|
+
put:
|
|
298
|
+
x-internal: false
|
|
299
|
+
summary: Reinvite a user who dismissed their invite
|
|
300
|
+
description: |-
|
|
301
|
+
Re-sends the invitation to a user who previously dismissed it. Only
|
|
302
|
+
works on users with `dismissed: true` in the user record. After
|
|
303
|
+
reinviting, the user returns to a pending state awaiting acceptance.
|
|
304
|
+
operationId: reinviteUser
|
|
305
|
+
tags:
|
|
306
|
+
- Users
|
|
307
|
+
parameters:
|
|
308
|
+
- name: _id
|
|
309
|
+
in: path
|
|
310
|
+
required: true
|
|
311
|
+
description: User access-record id.
|
|
312
|
+
schema:
|
|
313
|
+
type: string
|
|
314
|
+
format: objectId
|
|
315
|
+
requestBody:
|
|
316
|
+
required: false
|
|
317
|
+
content:
|
|
318
|
+
application/json:
|
|
319
|
+
schema:
|
|
320
|
+
type: object
|
|
321
|
+
description: Empty body.
|
|
322
|
+
examples:
|
|
323
|
+
empty:
|
|
324
|
+
summary: Empty body — no fields required
|
|
325
|
+
value: {}
|
|
326
|
+
responses:
|
|
327
|
+
'204':
|
|
328
|
+
description: Reinvitation sent.
|
|
329
|
+
'400':
|
|
330
|
+
description: User has not dismissed the invite.
|
|
331
|
+
content:
|
|
332
|
+
application/json:
|
|
333
|
+
schema:
|
|
334
|
+
$ref: '#/components/schemas/Error'
|
|
335
|
+
examples:
|
|
336
|
+
notDismissed:
|
|
337
|
+
summary: User has not dismissed
|
|
338
|
+
value:
|
|
339
|
+
errors:
|
|
340
|
+
- code: invalid_request
|
|
341
|
+
message: User has not dismissed the invite.
|
|
342
|
+
'401':
|
|
343
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
344
|
+
'404':
|
|
345
|
+
$ref: '#/components/responses/404-not-found'
|
|
346
|
+
/v1/invite/multiple:
|
|
347
|
+
post:
|
|
348
|
+
x-internal: false
|
|
349
|
+
summary: Invite users to the account
|
|
350
|
+
description: |-
|
|
351
|
+
Invite one or more users by email. Each entry in the response array
|
|
352
|
+
corresponds to the email at the same index — check `statusCode` per
|
|
353
|
+
entry for partial failures.
|
|
354
|
+
operationId: inviteUsers
|
|
355
|
+
tags:
|
|
356
|
+
- Users
|
|
357
|
+
requestBody:
|
|
358
|
+
required: true
|
|
359
|
+
content:
|
|
360
|
+
application/json:
|
|
361
|
+
schema:
|
|
362
|
+
$ref: '#/components/schemas/InviteRequest'
|
|
363
|
+
examples:
|
|
364
|
+
monitorAccess:
|
|
365
|
+
summary: Invite with monitor access
|
|
366
|
+
value:
|
|
367
|
+
emails:
|
|
368
|
+
- user1@example.com
|
|
369
|
+
- user2@example.com
|
|
370
|
+
accessLevel: monitor
|
|
371
|
+
integrationOnly:
|
|
372
|
+
summary: Invite with per-integration access
|
|
373
|
+
value:
|
|
374
|
+
emails:
|
|
375
|
+
- contractor@example.com
|
|
376
|
+
integrationAccessLevel:
|
|
377
|
+
- _integrationId: 68f52162f00a35a1b26eaafb
|
|
378
|
+
accessLevel: manage
|
|
379
|
+
responses:
|
|
380
|
+
'200':
|
|
381
|
+
description: Array of results, one per email.
|
|
382
|
+
content:
|
|
383
|
+
application/json:
|
|
384
|
+
schema:
|
|
385
|
+
type: array
|
|
386
|
+
items:
|
|
387
|
+
type: object
|
|
388
|
+
properties:
|
|
389
|
+
statusCode:
|
|
390
|
+
type: integer
|
|
391
|
+
description: |-
|
|
392
|
+
Per-entry result code. `201` on success, `400` if
|
|
393
|
+
the user already has access (use `PUT /v1/ashares/{_id}`
|
|
394
|
+
to update permissions instead).
|
|
395
|
+
doc:
|
|
396
|
+
$ref: '#/components/schemas/User'
|
|
397
|
+
examples:
|
|
398
|
+
default:
|
|
399
|
+
value:
|
|
400
|
+
- statusCode: 201
|
|
401
|
+
doc:
|
|
402
|
+
_id: 6a02b1869a09438890230ae2
|
|
403
|
+
accessLevel: monitor
|
|
404
|
+
integrationAccessLevel: []
|
|
405
|
+
lastModified: '2026-05-12T04:50:14.342Z'
|
|
406
|
+
createdAt: '2026-05-12T04:50:14.330Z'
|
|
407
|
+
allowIntegrationWorkspaceCreation: false
|
|
408
|
+
createdVia: existing_account_invite
|
|
409
|
+
sharedWithUser:
|
|
410
|
+
_id: 6a02b1859a09438890230a9f
|
|
411
|
+
email: user1@example.com
|
|
412
|
+
- statusCode: 201
|
|
413
|
+
doc:
|
|
414
|
+
_id: 6a02b1869a09438890230aef
|
|
415
|
+
accessLevel: monitor
|
|
416
|
+
integrationAccessLevel: []
|
|
417
|
+
lastModified: '2026-05-12T04:50:14.355Z'
|
|
418
|
+
createdAt: '2026-05-12T04:50:14.345Z'
|
|
419
|
+
allowIntegrationWorkspaceCreation: false
|
|
420
|
+
createdVia: existing_account_invite
|
|
421
|
+
sharedWithUser:
|
|
422
|
+
_id: 6a02b1859a09438890230aab
|
|
423
|
+
email: user2@example.com
|
|
424
|
+
'400':
|
|
425
|
+
$ref: '#/components/responses/400-bad-request'
|
|
426
|
+
'401':
|
|
427
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
428
|
+
components:
|
|
429
|
+
securitySchemes:
|
|
430
|
+
bearerAuth:
|
|
431
|
+
type: http
|
|
432
|
+
scheme: bearer
|
|
433
|
+
schemas:
|
|
434
|
+
UserBase:
|
|
435
|
+
type: object
|
|
436
|
+
description: Writable fields shared by the request and response schemas.
|
|
437
|
+
properties:
|
|
438
|
+
disabled:
|
|
439
|
+
type: boolean
|
|
440
|
+
description: Set to False to enable a disabled user, or True to maintain disabled
|
|
441
|
+
accessLevel:
|
|
442
|
+
type: string
|
|
443
|
+
description: |-
|
|
444
|
+
Account-level access for the user.
|
|
445
|
+
|
|
446
|
+
**CRITICAL**: This controls account-wide access. Choose your strategy:
|
|
447
|
+
|
|
448
|
+
- Integration-only access: omit `accessLevel` and specify integrations in `integrationAccessLevel`
|
|
449
|
+
- Account-wide monitoring + selective management: set `accessLevel: monitor` and use `integrationAccessLevel`
|
|
450
|
+
to grant `manage` access for specific integrations
|
|
451
|
+
- Full account access: set `accessLevel: manage` or `accessLevel: administrator` and leave
|
|
452
|
+
`integrationAccessLevel` undefined/empty
|
|
453
|
+
|
|
454
|
+
If per-integration level permissions are needed, omit `accessLevel` and instead populate `integrationAccessLevel`.
|
|
455
|
+
x-celigo-ai-guidance:
|
|
456
|
+
- Choose the `accessLevel` value based on what the user should be able to do across the account.
|
|
457
|
+
enum:
|
|
458
|
+
- monitor
|
|
459
|
+
- manage
|
|
460
|
+
- administrator
|
|
461
|
+
x-enumDescriptions:
|
|
462
|
+
monitor: Grants access to view all integrations, run flows, and troubleshoot flow errors (retry/resolve) without modifying integrations, flows, steps, resources, account settings, or users
|
|
463
|
+
manage: Grants access to edit all integrations and resources and troubleshoot flow errors, but not to view or edit account settings or invite/manage users
|
|
464
|
+
administrator: Grants full account administration, including editing account settings, resources, and integrations; inviting/managing users; and troubleshooting flow errors, but does not grant owner-only actions such as transferring account ownership or managing owner permissions
|
|
465
|
+
integrationAccessLevel:
|
|
466
|
+
type: array
|
|
467
|
+
description: |-
|
|
468
|
+
Per-integration access levels for the user.
|
|
469
|
+
|
|
470
|
+
Use this for granting access to specific integrations.
|
|
471
|
+
|
|
472
|
+
- If `accessLevel` is omitted, this creates **integration-only** access.
|
|
473
|
+
- If `accessLevel` is `monitor`, this grants **elevated access** (typically `manage`) for specific integrations.
|
|
474
|
+
- If `accessLevel` is `manage` or `administrator`, do not set `integrationAccessLevel`.
|
|
475
|
+
items:
|
|
476
|
+
type: object
|
|
477
|
+
properties:
|
|
478
|
+
_integrationId:
|
|
479
|
+
type: string
|
|
480
|
+
format: objectId
|
|
481
|
+
x-celigo-refModel: integrations
|
|
482
|
+
examples:
|
|
483
|
+
- 68f52162f00a35a1b26eaafb
|
|
484
|
+
description: Integration ID the user should have access to.
|
|
485
|
+
accessLevel:
|
|
486
|
+
type: string
|
|
487
|
+
description: Access level for this integration.
|
|
488
|
+
enum:
|
|
489
|
+
- monitor
|
|
490
|
+
- manage
|
|
491
|
+
x-enumDescriptions:
|
|
492
|
+
monitor: Read-only access to view the integration and troubleshoot errors.
|
|
493
|
+
manage: Full access to edit the integration and its resources.
|
|
494
|
+
accountSSORequired:
|
|
495
|
+
type: boolean
|
|
496
|
+
description: When true, SSO is required for this user in this account.
|
|
497
|
+
x-celigo-ai-guidance:
|
|
498
|
+
- Whether the invited user must use SSO to access this account.
|
|
499
|
+
accountMFARequired:
|
|
500
|
+
type: boolean
|
|
501
|
+
description: When true, MFA is required for this user in this account.
|
|
502
|
+
x-celigo-ai-guidance:
|
|
503
|
+
- Whether the invited user must use MFA to access this account.
|
|
504
|
+
allowAccessToAPIM:
|
|
505
|
+
type: boolean
|
|
506
|
+
description: When true, the user can access API Management (APIM) features for this account.
|
|
507
|
+
allowToEditRetryData:
|
|
508
|
+
type: boolean
|
|
509
|
+
description: |-
|
|
510
|
+
When true, the user can edit retry data when troubleshooting flow run errors (Error Management).
|
|
511
|
+
|
|
512
|
+
All users with **Monitor** access can view, retry, and resolve errant records. This flag controls whether they
|
|
513
|
+
can also **edit the retry data payload**. If set to false, the user cannot edit retry data for flow runs in any
|
|
514
|
+
integration workspace where they only have **Monitor** access.
|
|
515
|
+
|
|
516
|
+
This setting only applies when:
|
|
517
|
+
- `accessLevel` is `monitor`, or
|
|
518
|
+
- an entry in `integrationAccessLevel` grants `monitor` access for a specific integration.
|
|
519
|
+
allowIntegrationWorkspaceCreation:
|
|
520
|
+
type: boolean
|
|
521
|
+
description: When true, the user can create integration workspaces.
|
|
522
|
+
ResourceResponse:
|
|
523
|
+
type: object
|
|
524
|
+
description: Response
|
|
525
|
+
x-celigo-ai-guidance:
|
|
526
|
+
- Core response fields shared by all Celigo resources
|
|
527
|
+
properties:
|
|
528
|
+
_id:
|
|
529
|
+
type: string
|
|
530
|
+
format: objectId
|
|
531
|
+
readOnly: true
|
|
532
|
+
description: Unique identifier for the resource. Format is a 24-character hexadecimal string.
|
|
533
|
+
x-celigo-ai-guidance:
|
|
534
|
+
- |-
|
|
535
|
+
The _id is used in:
|
|
536
|
+
- API endpoints that operate on a specific resource (e.g., GET, PUT, DELETE)
|
|
537
|
+
- References from other resources (e.g., flows that use this resource)
|
|
538
|
+
- Job history and error tracking
|
|
539
|
+
examples:
|
|
540
|
+
- 5f8d43a1b9e5a80011a35f2c
|
|
541
|
+
createdAt:
|
|
542
|
+
type: string
|
|
543
|
+
format: date-time
|
|
544
|
+
readOnly: true
|
|
545
|
+
description: Timestamp when the resource was created. Set automatically and cannot be modified.
|
|
546
|
+
x-celigo-ai-guidance:
|
|
547
|
+
- Recorded in ISO 8601 with a UTC timezone (Z suffix).
|
|
548
|
+
examples:
|
|
549
|
+
- '2023-04-01T09:15:32Z'
|
|
550
|
+
lastModified:
|
|
551
|
+
type: string
|
|
552
|
+
format: date-time
|
|
553
|
+
readOnly: true
|
|
554
|
+
description: Timestamp when the resource was last updated. Changes whenever any property is modified.
|
|
555
|
+
x-celigo-ai-guidance:
|
|
556
|
+
- Recorded in ISO 8601 with a UTC timezone (Z suffix); always equal to or later than `createdAt`.
|
|
557
|
+
examples:
|
|
558
|
+
- '2023-04-15T14:30:15Z'
|
|
559
|
+
deletedAt:
|
|
560
|
+
type:
|
|
561
|
+
- string
|
|
562
|
+
- 'null'
|
|
563
|
+
format: date-time
|
|
564
|
+
readOnly: true
|
|
565
|
+
description: Timestamp when the resource was soft-deleted. When null or absent, the resource is active.
|
|
566
|
+
x-celigo-ai-guidance:
|
|
567
|
+
- Non-null means the resource is soft-deleted (in the recycle bin) — recoverable within the retention period before permanent removal.
|
|
568
|
+
examples:
|
|
569
|
+
- '2023-05-20T11:45:32Z'
|
|
570
|
+
required:
|
|
571
|
+
- _id
|
|
572
|
+
User:
|
|
573
|
+
type: object
|
|
574
|
+
required:
|
|
575
|
+
- _id
|
|
576
|
+
- sharedWithUser
|
|
577
|
+
- integrationAccessLevel
|
|
578
|
+
- createdAt
|
|
579
|
+
- lastModified
|
|
580
|
+
description: |-
|
|
581
|
+
A user's access record in the account. Each user who has been invited
|
|
582
|
+
(or shared access) gets one record per account they belong to. The
|
|
583
|
+
`_id` is the access-record id, not the user's own id — the user's
|
|
584
|
+
identity is in `sharedWithUser._id`. The account owner does not
|
|
585
|
+
appear in this list.
|
|
586
|
+
x-celigo-ai-guidance:
|
|
587
|
+
- Account user object representing a user's access to the account
|
|
588
|
+
allOf:
|
|
589
|
+
- $ref: '#/components/schemas/UserBase'
|
|
590
|
+
- type: object
|
|
591
|
+
properties:
|
|
592
|
+
_id:
|
|
593
|
+
type: string
|
|
594
|
+
format: objectId
|
|
595
|
+
readOnly: true
|
|
596
|
+
x-celigo-refModel: users
|
|
597
|
+
examples:
|
|
598
|
+
- 6798f4dc43db9184f4bc8ee0
|
|
599
|
+
description: Access-record id for this user in the account.
|
|
600
|
+
accepted:
|
|
601
|
+
type: boolean
|
|
602
|
+
readOnly: true
|
|
603
|
+
description: When true, the user has accepted the invitation to join the account.
|
|
604
|
+
userType:
|
|
605
|
+
type: string
|
|
606
|
+
readOnly: true
|
|
607
|
+
enum:
|
|
608
|
+
- workspace
|
|
609
|
+
description: |-
|
|
610
|
+
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.
|
|
613
|
+
x-enumDescriptions:
|
|
614
|
+
workspace: A workspace (team member) access record.
|
|
615
|
+
lastSignIn:
|
|
616
|
+
type: string
|
|
617
|
+
format: date-time
|
|
618
|
+
readOnly: true
|
|
619
|
+
examples:
|
|
620
|
+
- '2026-05-02T17:02:59.370Z'
|
|
621
|
+
description: When the user last signed in to this account.
|
|
622
|
+
x-celigo-ai-guidance:
|
|
623
|
+
- Last sign-in timestamp for the user (if available).
|
|
624
|
+
dismissed:
|
|
625
|
+
type: boolean
|
|
626
|
+
readOnly: true
|
|
627
|
+
description: When true, the invitation has been declined by the user.
|
|
628
|
+
isProductionAdmin:
|
|
629
|
+
type: boolean
|
|
630
|
+
readOnly: true
|
|
631
|
+
description: When true, the user has production-admin privileges in this account.
|
|
632
|
+
createdVia:
|
|
633
|
+
type: string
|
|
634
|
+
readOnly: true
|
|
635
|
+
description: How this user's access record was created.
|
|
636
|
+
enum:
|
|
637
|
+
- existing_account_invite
|
|
638
|
+
- existing_account_share_request
|
|
639
|
+
- invited_during_signup
|
|
640
|
+
- new_account_auto_join
|
|
641
|
+
x-enumDescriptions:
|
|
642
|
+
existing_account_invite: User was invited to an existing account by an admin.
|
|
643
|
+
existing_account_share_request: User requested access to a shared account.
|
|
644
|
+
invited_during_signup: User was invited as part of a new account signup flow.
|
|
645
|
+
new_account_auto_join: User automatically joined a new account via domain matching.
|
|
646
|
+
ssoSetupPending:
|
|
647
|
+
type: boolean
|
|
648
|
+
readOnly: true
|
|
649
|
+
description: |-
|
|
650
|
+
When true, the user must complete SSO setup for this account
|
|
651
|
+
before their SSO-required access is fully active. Set by the
|
|
652
|
+
server during SSO enrollment; cleared by removing the field, so
|
|
653
|
+
it is never `false`.
|
|
654
|
+
sharedWithUser:
|
|
655
|
+
type: object
|
|
656
|
+
readOnly: true
|
|
657
|
+
description: Identity details of the invited/shared user.
|
|
658
|
+
properties:
|
|
659
|
+
_id:
|
|
660
|
+
type: string
|
|
661
|
+
format: objectId
|
|
662
|
+
x-celigo-refModel: users
|
|
663
|
+
examples:
|
|
664
|
+
- 624774a6a7574d3ed9f9a5cc
|
|
665
|
+
description: The user's own account id.
|
|
666
|
+
email:
|
|
667
|
+
type: string
|
|
668
|
+
format: email
|
|
669
|
+
examples:
|
|
670
|
+
- admin@example.com
|
|
671
|
+
description: Email address of the user.
|
|
672
|
+
name:
|
|
673
|
+
type: string
|
|
674
|
+
examples:
|
|
675
|
+
- Account Admin
|
|
676
|
+
description: Display name of the user.
|
|
677
|
+
lastSignIn:
|
|
678
|
+
type: string
|
|
679
|
+
format: date-time
|
|
680
|
+
examples:
|
|
681
|
+
- '2026-05-02T17:02:59.370Z'
|
|
682
|
+
description: When the user last signed in (across any account).
|
|
683
|
+
allowedToResetMFA:
|
|
684
|
+
type: boolean
|
|
685
|
+
description: When true, the current requester can reset MFA for this user.
|
|
686
|
+
accountSSOLinked:
|
|
687
|
+
type: string
|
|
688
|
+
description: |-
|
|
689
|
+
SSO linkage status for the user in this account.
|
|
690
|
+
`this_account` means SSO is linked to the current account.
|
|
691
|
+
`other_account` means SSO is linked to a different account.
|
|
692
|
+
enum:
|
|
693
|
+
- not_linked
|
|
694
|
+
- this_account
|
|
695
|
+
- other_account
|
|
696
|
+
x-enumDescriptions:
|
|
697
|
+
not_linked: User has no SSO linkage for this account.
|
|
698
|
+
this_account: User's SSO is linked to this account.
|
|
699
|
+
other_account: User's SSO is linked to a different account.
|
|
700
|
+
- $ref: '#/components/schemas/ResourceResponse'
|
|
701
|
+
Error:
|
|
702
|
+
type: object
|
|
703
|
+
description: Standard error response envelope returned by integrator.io APIs.
|
|
704
|
+
properties:
|
|
705
|
+
errors:
|
|
706
|
+
type: array
|
|
707
|
+
description: List of errors that occurred while processing the request.
|
|
708
|
+
items:
|
|
709
|
+
type: object
|
|
710
|
+
properties:
|
|
711
|
+
code:
|
|
712
|
+
oneOf:
|
|
713
|
+
- type: string
|
|
714
|
+
- type: integer
|
|
715
|
+
description: |-
|
|
716
|
+
Machine-readable error code. Usually a string like
|
|
717
|
+
`invalid_ref`, `missing_required_field`, or `unauthorized`;
|
|
718
|
+
may be an **integer** when the error mirrors an upstream HTTP
|
|
719
|
+
status (e.g. `500`) — most commonly returned by connection-ping
|
|
720
|
+
and adaptor-proxy responses.
|
|
721
|
+
message:
|
|
722
|
+
type: string
|
|
723
|
+
description: Human-readable description of the error.
|
|
724
|
+
field:
|
|
725
|
+
type: string
|
|
726
|
+
description: |-
|
|
727
|
+
Optional pointer to the document field that caused the error.
|
|
728
|
+
Used by structural validation errors (`missing_required_field`,
|
|
729
|
+
`invalid_ref`) to indicate which field is at fault
|
|
730
|
+
(e.g. `_id`, `type`, `http.baseURI`).
|
|
731
|
+
source:
|
|
732
|
+
type: string
|
|
733
|
+
description: |-
|
|
734
|
+
Optional origin layer for the error — e.g. `application` when
|
|
735
|
+
the error came from the remote system the adaptor called,
|
|
736
|
+
`connector` when the adaptor itself rejected the request.
|
|
737
|
+
required:
|
|
738
|
+
- message
|
|
739
|
+
required:
|
|
740
|
+
- errors
|
|
741
|
+
Request:
|
|
742
|
+
type: object
|
|
743
|
+
description: Fields that can be sent when inviting or updating an account user.
|
|
744
|
+
allOf:
|
|
745
|
+
- $ref: '#/components/schemas/UserBase'
|
|
746
|
+
InviteRequest:
|
|
747
|
+
description: |-
|
|
748
|
+
Request body for inviting users to the account. Extends the base
|
|
749
|
+
user request with email fields. Access settings apply uniformly
|
|
750
|
+
to all emails in a batch invite.
|
|
751
|
+
allOf:
|
|
752
|
+
- $ref: '#/components/schemas/Request'
|
|
753
|
+
- type: object
|
|
754
|
+
properties:
|
|
755
|
+
email:
|
|
756
|
+
type: string
|
|
757
|
+
format: email
|
|
758
|
+
examples:
|
|
759
|
+
- newuser@example.com
|
|
760
|
+
description: Single email address to invite (use with `POST /v1/invite`).
|
|
761
|
+
emails:
|
|
762
|
+
type: array
|
|
763
|
+
description: Email addresses to invite (use with `POST /v1/invite/multiple`).
|
|
764
|
+
items:
|
|
765
|
+
type: string
|
|
766
|
+
format: email
|
|
767
|
+
examples:
|
|
768
|
+
- user1@example.com
|
|
769
|
+
responses:
|
|
770
|
+
401-unauthorized:
|
|
771
|
+
description: |-
|
|
772
|
+
Unauthorized. The request lacks a valid bearer token, or the provided token
|
|
773
|
+
failed to authenticate.
|
|
774
|
+
|
|
775
|
+
Note: the 401 response is produced by the auth middleware **before** the
|
|
776
|
+
request reaches the endpoint handler, so it does **not** follow the
|
|
777
|
+
standard `{errors: [...]}` envelope. Instead the body is a bare
|
|
778
|
+
`{message: string}` object with no `code`, no `errors` array. Callers
|
|
779
|
+
handling 401s should key off the HTTP status and the `message` string,
|
|
780
|
+
not try to destructure an `errors[]`.
|
|
781
|
+
content:
|
|
782
|
+
application/json:
|
|
783
|
+
schema:
|
|
784
|
+
type: object
|
|
785
|
+
properties:
|
|
786
|
+
message:
|
|
787
|
+
type: string
|
|
788
|
+
description: |-
|
|
789
|
+
Human-readable description of the auth failure. Known values:
|
|
790
|
+
- `"Unauthorized"` — no `Authorization` header on the request.
|
|
791
|
+
- `"Bearer Authentication Failed"` — header present but token
|
|
792
|
+
is invalid, revoked, or expired.
|
|
793
|
+
required:
|
|
794
|
+
- message
|
|
795
|
+
examples:
|
|
796
|
+
missing_token:
|
|
797
|
+
summary: No Authorization header sent
|
|
798
|
+
value:
|
|
799
|
+
message: Unauthorized
|
|
800
|
+
invalid_token:
|
|
801
|
+
summary: Bearer token invalid or revoked
|
|
802
|
+
value:
|
|
803
|
+
message: Bearer Authentication Failed
|
|
804
|
+
404-not-found:
|
|
805
|
+
description: |
|
|
806
|
+
Not found. The requested resource does not exist or is not visible to the caller.
|
|
807
|
+
content:
|
|
808
|
+
application/json:
|
|
809
|
+
schema:
|
|
810
|
+
$ref: '#/components/schemas/Error'
|
|
811
|
+
examples:
|
|
812
|
+
default:
|
|
813
|
+
value:
|
|
814
|
+
errors:
|
|
815
|
+
- code: not_found
|
|
816
|
+
message: The requested resource was not found.
|
|
817
|
+
400-bad-request:
|
|
818
|
+
description: |
|
|
819
|
+
Bad request. The server could not understand the request because of malformed syntax or invalid parameters.
|
|
820
|
+
content:
|
|
821
|
+
application/json:
|
|
822
|
+
schema:
|
|
823
|
+
$ref: '#/components/schemas/Error'
|
|
824
|
+
examples:
|
|
825
|
+
default:
|
|
826
|
+
value:
|
|
827
|
+
errors:
|
|
828
|
+
- code: invalid_request
|
|
829
|
+
message: The request body failed validation.
|
|
830
|
+
x-enable-proxy: true
|
|
831
|
+
x-internal: false
|