@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.
Files changed (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +119 -0
  3. package/dist/account.yml +592 -0
  4. package/dist/agent.yml +908 -0
  5. package/dist/ai-agent.yml +5471 -0
  6. package/dist/api.yml +4140 -0
  7. package/dist/apim.yml +1286 -0
  8. package/dist/asynchelper.yml +3391 -0
  9. package/dist/audit.yml +2006 -0
  10. package/dist/connection.yml +8665 -0
  11. package/dist/connector.yml +1406 -0
  12. package/dist/ediprofile.yml +911 -0
  13. package/dist/editransaction.yml +1210 -0
  14. package/dist/enduser.yml +1724 -0
  15. package/dist/environment.yml +568 -0
  16. package/dist/eventreport.yml +692 -0
  17. package/dist/export.yml +17610 -0
  18. package/dist/filedefinition.yml +1396 -0
  19. package/dist/filestorage.yml +3102 -0
  20. package/dist/flow.yml +7928 -0
  21. package/dist/guardrail.yml +2763 -0
  22. package/dist/httpconnector.yml +2277 -0
  23. package/dist/httpconnectorendpoint.yml +722 -0
  24. package/dist/httpconnectorresource.yml +396 -0
  25. package/dist/iclient.yml +4452 -0
  26. package/dist/import.yml +15381 -0
  27. package/dist/integration.yml +4406 -0
  28. package/dist/job.yml +2014 -0
  29. package/dist/lookupcache.yml +1325 -0
  30. package/dist/marketplace.yml +685 -0
  31. package/dist/mcp-oauth-provider.yml +590 -0
  32. package/dist/mcp-server.yml +2656 -0
  33. package/dist/notification.yml +488 -0
  34. package/dist/processor.yml +1253 -0
  35. package/dist/profile.yml +455 -0
  36. package/dist/recyclebin.yml +768 -0
  37. package/dist/script.yml +1128 -0
  38. package/dist/stack.yml +1291 -0
  39. package/dist/state.yml +894 -0
  40. package/dist/subscription.yml +1405 -0
  41. package/dist/sync.yml +4857 -0
  42. package/dist/tag.yml +553 -0
  43. package/dist/template.yml +897 -0
  44. package/dist/tool.yml +33656 -0
  45. package/dist/tradingpartnerconnector.yml +1490 -0
  46. package/dist/user.yml +831 -0
  47. package/package.json +41 -0
  48. package/schemas.json +8420 -0
@@ -0,0 +1,4452 @@
1
+ openapi: 3.2.0
2
+ info:
3
+ version: 1.0.0
4
+ title: iClients
5
+ description: API for managing Celigo iClients — shared OAuth 2.0 credential stores referenced by connections.
6
+ servers:
7
+ - url: https://api.integrator.io
8
+ description: Production (US / default region)
9
+ - url: https://api.eu.integrator.io
10
+ description: Production (EU region)
11
+ - url: https://api.au.integrator.io
12
+ description: Production (AU region)
13
+ - url: https://api.ca.integrator.io
14
+ description: Production (CA region)
15
+ security:
16
+ - bearerAuth: []
17
+ tags:
18
+ - name: iClients
19
+ x-displayName: iClients
20
+ description: |-
21
+ iClients are shared OAuth 2.0 credential stores that hold client
22
+ IDs, secrets, and token-endpoint configuration for a specific
23
+ application or provider. Multiple connections can reference the
24
+ same iClient so credentials are managed in one place.
25
+
26
+ Each iClient targets one `provider` — the provider determines
27
+ which credential sub-object (`oauth2`, `netsuite`, `salesforce`,
28
+ `ebay`, `amazonmws`, `azureserviceprincipal`) is required.
29
+ Secrets are stored encrypted and returned masked as `"******"`.
30
+
31
+ ## iClient schema
32
+
33
+ {% openapi-schemas spec="iclient" schemas="iClient" grouped="true" %}
34
+ paths:
35
+ /v1/iclients:
36
+ get:
37
+ x-internal: false
38
+ summary: List iClients
39
+ description: |-
40
+ Returns all iClients in the account. Does not paginate — all
41
+ iClients are returned in a single response.
42
+ x-celigo-ai-guidance:
43
+ - |-
44
+ Returns a list of all iClients configured in the account.
45
+ If no iClients exist in the account,
46
+ a 204 response with no body will be returned.
47
+ - |-
48
+ Returns a list of all iClients configured in the account.
49
+ If no iClients exist in the account,
50
+ a 204 response with no body will be returned.
51
+ - |-
52
+ Returns a list of all iClients configured in the account.
53
+ If no iClients exist in the account,
54
+ a 204 response with no body will be returned.
55
+ operationId: listIClients
56
+ tags:
57
+ - iClients
58
+ parameters:
59
+ - name: limit
60
+ in: query
61
+ description: Maximum number of records to return per page.
62
+ schema:
63
+ type: integer
64
+ minimum: 1
65
+ examples:
66
+ - 100
67
+ - $ref: '#/components/parameters/After'
68
+ responses:
69
+ '200':
70
+ description: List of iClients (may be empty).
71
+ x-celigo-ai-guidance:
72
+ - Successfully retrieved list of iClients
73
+ headers:
74
+ Link:
75
+ description: |-
76
+ RFC-5988 pagination links. When more pages remain, includes a `<...>; rel="next"` entry;
77
+ absent on the final page.
78
+ schema:
79
+ type: string
80
+ content:
81
+ application/json:
82
+ schema:
83
+ type: array
84
+ items:
85
+ $ref: '#/components/schemas/iClient'
86
+ examples:
87
+ default:
88
+ value:
89
+ - _id: 664be9dc9f7cf79527e2c03e
90
+ name: Google Drive
91
+ published: false
92
+ lastModified: '2024-05-21T00:25:00.735Z'
93
+ provider: custom_oauth2
94
+ _httpConnectorId: 669e1d90e3e73a17fb1fb1eb
95
+ _httpConnectorApiId: 66a0a457ea5ed5b80f6efa74
96
+ enableJWT: false
97
+ enableIClientReferences: false
98
+ formType: assistant
99
+ oauth2:
100
+ clientId: 1096775564568-cucr5sv44tgfec4kkqsufi5k975d8orv.apps.googleusercontent.com
101
+ clientSecret: '******'
102
+ scope: []
103
+ scopeDelimiter: ' '
104
+ validDomainNames:
105
+ - google.com
106
+ useNewAuthFailSchema: true
107
+ auth:
108
+ uri: https://accounts.google.com/o/oauth2/auth
109
+ token:
110
+ uri: https://accounts.google.com/o/oauth2/token
111
+ - _id: 69e83183438f9e0edcc68c49
112
+ name: Azure Service Principal
113
+ published: false
114
+ lastModified: '2026-05-02T18:09:32.572Z'
115
+ provider: azureserviceprincipal
116
+ enableJWT: false
117
+ enableIClientReferences: false
118
+ formType: http
119
+ azureserviceprincipal:
120
+ clientId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
121
+ clientSecret: '******'
122
+ tenantId: f0e1d2c3-b4a5-6789-0abc-def012345678
123
+ '204':
124
+ description: No iClients exist in the account.
125
+ '401':
126
+ $ref: '#/components/responses/401-unauthorized'
127
+ post:
128
+ x-internal: false
129
+ summary: Create an iClient
130
+ description: |-
131
+ Creates a new iClient. The `provider` field is required and
132
+ determines which credential sub-object must be populated.
133
+ operationId: createIClient
134
+ tags:
135
+ - iClients
136
+ requestBody:
137
+ required: true
138
+ content:
139
+ application/json:
140
+ schema:
141
+ $ref: '#/components/schemas/Request'
142
+ examples:
143
+ custom_oauth2:
144
+ summary: Generic OAuth 2.0 provider
145
+ value:
146
+ name: My OAuth App
147
+ provider: custom_oauth2
148
+ oauth2:
149
+ clientId: my-client-id
150
+ clientSecret: my-client-secret
151
+ scope:
152
+ - read write
153
+ auth:
154
+ uri: https://auth.example.com/authorize
155
+ token:
156
+ uri: https://auth.example.com/token
157
+ azureserviceprincipal:
158
+ summary: Azure AD service principal
159
+ value:
160
+ name: Azure SP
161
+ provider: azureserviceprincipal
162
+ azureserviceprincipal:
163
+ clientId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
164
+ clientSecret: my-client-secret
165
+ tenantId: f0e1d2c3-b4a5-6789-0abc-def012345678
166
+ responses:
167
+ '201':
168
+ description: iClient created.
169
+ x-celigo-ai-guidance:
170
+ - iClient created successfully
171
+ content:
172
+ application/json:
173
+ schema:
174
+ $ref: '#/components/schemas/iClient'
175
+ examples:
176
+ created:
177
+ summary: Created OAuth 2.0 iClient (secret masked, server defaults applied)
178
+ value:
179
+ _id: 69e83183438f9e0edcc68c49
180
+ name: Client Credentials App
181
+ published: false
182
+ lastModified: '2026-05-02T18:09:32.572Z'
183
+ provider: custom_oauth2
184
+ enableJWT: false
185
+ enableIClientReferences: false
186
+ formType: http
187
+ oauth2:
188
+ clientId: cid
189
+ clientSecret: '******'
190
+ scope: []
191
+ validDomainNames:
192
+ - example.com
193
+ grantType: clientcredentials
194
+ useNewAuthFailSchema: true
195
+ '400':
196
+ $ref: '#/components/responses/400-bad-request'
197
+ '401':
198
+ $ref: '#/components/responses/401-unauthorized'
199
+ '403':
200
+ $ref: '#/components/responses/403-forbidden'
201
+ '422':
202
+ $ref: '#/components/responses/422-unprocessable-entity'
203
+ /v1/iclients/{_id}:
204
+ get:
205
+ x-internal: false
206
+ summary: Get an iClient
207
+ description: Retrieves a single iClient by ID.
208
+ operationId: getIClientById
209
+ tags:
210
+ - iClients
211
+ parameters:
212
+ - in: path
213
+ name: _id
214
+ required: true
215
+ schema:
216
+ type: string
217
+ format: objectId
218
+ description: iClient ID.
219
+ responses:
220
+ '200':
221
+ description: iClient object.
222
+ content:
223
+ application/json:
224
+ schema:
225
+ $ref: '#/components/schemas/iClient'
226
+ examples:
227
+ custom_oauth2:
228
+ summary: OAuth 2.0 iClient backed by an HTTP connector
229
+ value:
230
+ _id: 664be9dc9f7cf79527e2c03e
231
+ name: Google Drive
232
+ published: false
233
+ lastModified: '2024-05-21T00:25:00.735Z'
234
+ provider: custom_oauth2
235
+ _httpConnectorId: 669e1d90e3e73a17fb1fb1eb
236
+ _httpConnectorApiId: 66a0a457ea5ed5b80f6efa74
237
+ enableJWT: false
238
+ enableIClientReferences: false
239
+ formType: assistant
240
+ oauth2:
241
+ clientId: 1096775564568-cucr5sv44tgfec4kkqsufi5k975d8orv.apps.googleusercontent.com
242
+ clientSecret: '******'
243
+ scope: []
244
+ scopeDelimiter: ' '
245
+ validDomainNames:
246
+ - google.com
247
+ useNewAuthFailSchema: true
248
+ auth:
249
+ uri: https://accounts.google.com/o/oauth2/auth
250
+ token:
251
+ uri: https://accounts.google.com/o/oauth2/token
252
+ '401':
253
+ $ref: '#/components/responses/401-unauthorized'
254
+ '404':
255
+ $ref: '#/components/responses/404-not-found'
256
+ put:
257
+ x-internal: false
258
+ summary: Update an iClient
259
+ description: |-
260
+ Replaces an iClient. All mutable fields must be provided — omitted
261
+ fields are reset to defaults. Secrets returned as `"******"` can be
262
+ sent back as-is to keep the existing value.
263
+ operationId: updateIClient
264
+ tags:
265
+ - iClients
266
+ parameters:
267
+ - in: path
268
+ name: _id
269
+ required: true
270
+ schema:
271
+ type: string
272
+ format: objectId
273
+ description: iClient ID.
274
+ requestBody:
275
+ required: true
276
+ content:
277
+ application/json:
278
+ schema:
279
+ $ref: '#/components/schemas/Request'
280
+ examples:
281
+ update_name:
282
+ summary: Update name only (preserve secrets)
283
+ value:
284
+ name: Renamed OAuth App
285
+ provider: custom_oauth2
286
+ oauth2:
287
+ clientId: my-client-id
288
+ clientSecret: '******'
289
+ responses:
290
+ '200':
291
+ description: Updated iClient.
292
+ content:
293
+ application/json:
294
+ schema:
295
+ $ref: '#/components/schemas/iClient'
296
+ examples:
297
+ renamed:
298
+ summary: Renamed iClient (existing secret preserved, omitted fields reset)
299
+ value:
300
+ _id: 69e83183438f9e0edcc68c49
301
+ name: Renamed OAuth App
302
+ published: false
303
+ lastModified: '2026-05-02T18:14:05.118Z'
304
+ provider: custom_oauth2
305
+ enableJWT: false
306
+ enableIClientReferences: false
307
+ formType: http
308
+ oauth2:
309
+ clientId: my-client-id
310
+ clientSecret: '******'
311
+ scope: []
312
+ useNewAuthFailSchema: true
313
+ '400':
314
+ $ref: '#/components/responses/400-bad-request'
315
+ '401':
316
+ $ref: '#/components/responses/401-unauthorized'
317
+ '404':
318
+ $ref: '#/components/responses/404-not-found'
319
+ '422':
320
+ $ref: '#/components/responses/422-unprocessable-entity'
321
+ patch:
322
+ x-internal: false
323
+ summary: Patch an iClient
324
+ description: |-
325
+ Partially updates an iClient using JSON Patch (RFC 6902). Only
326
+ `/oauth2/failPath` is patchable; use PUT for other field changes.
327
+ operationId: patchIClient
328
+ tags:
329
+ - iClients
330
+ parameters:
331
+ - in: path
332
+ name: _id
333
+ required: true
334
+ schema:
335
+ type: string
336
+ format: objectId
337
+ description: iClient ID.
338
+ requestBody:
339
+ required: true
340
+ content:
341
+ application/json:
342
+ schema:
343
+ type: array
344
+ items:
345
+ type: object
346
+ required:
347
+ - op
348
+ - path
349
+ properties:
350
+ op:
351
+ type: string
352
+ enum:
353
+ - replace
354
+ - add
355
+ - remove
356
+ x-enumDescriptions:
357
+ replace: Replace the current value at the path.
358
+ add: Add a value at the path.
359
+ remove: Remove the value at the path.
360
+ description: JSON Patch operation.
361
+ path:
362
+ type: string
363
+ enum:
364
+ - /oauth2/failPath
365
+ x-enumDescriptions:
366
+ /oauth2/failPath: Response body path used to detect OAuth auth failures.
367
+ description: |-
368
+ JSON Pointer to modify. Only `/oauth2/failPath` is
369
+ whitelisted.
370
+ value:
371
+ type: string
372
+ description: |-
373
+ New value. Required for `replace` and `add`;
374
+ omit for `remove`.
375
+ examples:
376
+ replace_failPath:
377
+ summary: Replace the auth failure detection path
378
+ value:
379
+ - op: replace
380
+ path: /oauth2/failPath
381
+ value: error.message
382
+ responses:
383
+ '204':
384
+ description: Patch applied (no response body).
385
+ '401':
386
+ $ref: '#/components/responses/401-unauthorized'
387
+ '404':
388
+ $ref: '#/components/responses/404-not-found'
389
+ '422':
390
+ description: Patch rejected.
391
+ content:
392
+ application/json:
393
+ schema:
394
+ $ref: '#/components/schemas/Error'
395
+ examples:
396
+ invalid_patch_data:
397
+ summary: Body is not a JSON array
398
+ value:
399
+ errors:
400
+ - message: invalid patch data
401
+ non_whitelisted:
402
+ summary: Path is not patchable
403
+ value:
404
+ errors:
405
+ - message: /name is not a whitelisted property
406
+ delete:
407
+ x-internal: false
408
+ summary: Delete an iClient
409
+ description: |-
410
+ Permanently deletes an iClient. Blocked if the iClient is still
411
+ referenced by a connection.
412
+ operationId: deleteIClient
413
+ tags:
414
+ - iClients
415
+ parameters:
416
+ - in: path
417
+ name: _id
418
+ required: true
419
+ schema:
420
+ type: string
421
+ format: objectId
422
+ description: iClient ID.
423
+ responses:
424
+ '204':
425
+ description: iClient deleted (no response body).
426
+ '401':
427
+ $ref: '#/components/responses/401-unauthorized'
428
+ '404':
429
+ $ref: '#/components/responses/404-not-found'
430
+ '422':
431
+ $ref: '#/components/responses/422-unprocessable-entity'
432
+ /v1/iclients/{_id}/dependencies:
433
+ get:
434
+ x-internal: false
435
+ operationId: listIClientDependencies
436
+ tags:
437
+ - iClients
438
+ summary: List dependencies of an iClient
439
+ description: |-
440
+ Returns the set of resources that depend on the specified resource.
441
+ The response is an object whose keys are dependent-resource types
442
+ (e.g. `flows`, `imports`) and whose values are arrays of dependency
443
+ entries. Returns `{}` when no dependents exist, including for
444
+ well-formatted but nonexistent IDs.
445
+ parameters:
446
+ - name: _id
447
+ in: path
448
+ required: true
449
+ description: Resource ID.
450
+ schema:
451
+ type: string
452
+ format: objectId
453
+ responses:
454
+ '200':
455
+ description: |
456
+ Dependency map. Keys are resource-type strings; values are arrays
457
+ of dependency entries. Returns `{}` when no dependents exist.
458
+ content:
459
+ application/json:
460
+ schema:
461
+ $ref: '#/components/schemas/DependencyResponse'
462
+ examples:
463
+ none:
464
+ summary: No dependents (also returned for a nonexistent ID)
465
+ value: {}
466
+ '401':
467
+ $ref: '#/components/responses/401-unauthorized'
468
+ components:
469
+ securitySchemes:
470
+ bearerAuth:
471
+ type: http
472
+ scheme: bearer
473
+ parameters:
474
+ After:
475
+ name: after
476
+ in: query
477
+ required: false
478
+ description: |-
479
+ Opaque cursor for forward pagination. Pass the value from the `Link`
480
+ response header (`rel="next"`) to fetch the next page.
481
+ schema:
482
+ type: string
483
+ schemas:
484
+ IClientBase:
485
+ type: object
486
+ description: Writable iClient fields shared by the request and response schemas.
487
+ properties:
488
+ name:
489
+ type: string
490
+ description: Display name for the iClient.
491
+ x-celigo-ai-guidance:
492
+ - Name the iClient after the ONE application whose OAuth app / client credentials it holds, plus the account or environment when that distinguishes it (e.g. "Google Drive OAuth App", "Shopify OAuth - mystore").
493
+ - Never name an iClient after a flow or use case — iClients are account-level credentials referenced by many connections (`_iClientId`), and a use-case name hides which application the client belongs to.
494
+ examples:
495
+ - Google Drive OAuth App
496
+ provider:
497
+ type: string
498
+ description: Authentication provider that determines which credential fields apply.
499
+ x-celigo-ai-guidance:
500
+ - |-
501
+ ## IMPORTANT NOTES:
502
+ - This is not a human/vendor label — it is the provider key that selects an authentication method.
503
+ - |-
504
+ ## IMPLEMENTATION GUIDANCE:
505
+ - Pick the provider that matches the system you are authenticating against.
506
+ - For generic OAuth2 providers, use `custom_oauth2`.
507
+ - Ensure the corresponding auth configuration under `oauth2`, `jwt`, or provider-specific sections is populated as needed.
508
+ - |-
509
+ Specifies the authentication provider/method used by this iClient,
510
+ determining which authentication flow and credential fields are used (e.g.,
511
+ Google OAuth, Salesforce OAuth, NetSuite token-based auth,
512
+ or a custom OAuth2 provider).
513
+ - |-
514
+ ## FIELD BEHAVIOR:
515
+ - Required.
516
+ - Must be one of the supported provider enum values.
517
+ - Drives the UI and validation rules for which authentication settings are shown/required.
518
+ - |-
519
+ ## DEPENDENCY CHAIN:
520
+ - Influences which auth sub-configurations are applicable (for example, `oauth2.*`, `netsuite.*`, `salesforce.*`, `jwt.*`).
521
+ - |-
522
+ Specifies the authentication provider/method used by this iClient,
523
+ determining which authentication flow and credential fields are used (e.g.,
524
+ Google OAuth, Salesforce OAuth, NetSuite token-based auth,
525
+ or a custom OAuth2 provider).
526
+ - |-
527
+ Specifies the authentication provider/method used by this iClient,
528
+ determining which authentication flow and credential fields are used (e.g.,
529
+ Google OAuth, Salesforce OAuth, NetSuite token-based auth,
530
+ or a custom OAuth2 provider).
531
+ enum:
532
+ - custom_oauth2
533
+ - netsuite
534
+ - amazonmws
535
+ - awsIam
536
+ - azureserviceprincipal
537
+ - googleserviceaccount
538
+ - integrator
539
+ - salesforce
540
+ - shopify
541
+ - ebay-xml
542
+ - microsoftbusinesscentral
543
+ - google
544
+ - azureoauth
545
+ - squareup
546
+ - zendesk
547
+ - docusign
548
+ - ebay
549
+ - windowslive
550
+ - bigcommerce
551
+ - asana
552
+ - box
553
+ - dropbox
554
+ - clover
555
+ - servicenow
556
+ - jobvite
557
+ - twilio
558
+ - certify
559
+ - woocommerce
560
+ x-enumDescriptions:
561
+ custom_oauth2: Generic OAuth 2.0 provider for applications not listed.
562
+ netsuite: NetSuite token-based authentication.
563
+ amazonmws: Amazon Marketplace Web Service (MWS) authentication.
564
+ awsIam: AWS IAM cross-account role authentication (assume-role with an external ID).
565
+ azureserviceprincipal: Azure AD service principal (client credentials) authentication.
566
+ googleserviceaccount: Google Cloud service-account key authentication (JSON key file).
567
+ integrator: Celigo integrator.io internal authentication.
568
+ salesforce: Salesforce OAuth 2.0 authentication.
569
+ shopify: Shopify OAuth 2.0 authentication.
570
+ ebay-xml: eBay Trading (XML) API authentication.
571
+ microsoftbusinesscentral: Microsoft Dynamics 365 Business Central OAuth 2.0 authentication.
572
+ google: Google OAuth 2.0 authentication.
573
+ azureoauth: Microsoft Azure AD OAuth 2.0 authentication.
574
+ squareup: Square OAuth 2.0 authentication.
575
+ zendesk: Zendesk OAuth 2.0 authentication.
576
+ docusign: DocuSign OAuth 2.0 authentication.
577
+ ebay: eBay REST API OAuth 2.0 authentication.
578
+ windowslive: Microsoft Windows Live OAuth authentication.
579
+ bigcommerce: BigCommerce OAuth 2.0 authentication.
580
+ asana: Asana OAuth 2.0 authentication.
581
+ box: Box OAuth 2.0 authentication.
582
+ dropbox: Dropbox OAuth 2.0 authentication.
583
+ clover: Clover OAuth 2.0 authentication.
584
+ servicenow: ServiceNow OAuth 2.0 authentication.
585
+ jobvite: Jobvite API authentication.
586
+ twilio: Twilio API authentication.
587
+ certify: Certify API authentication.
588
+ woocommerce: WooCommerce REST API authentication.
589
+ published:
590
+ type: boolean
591
+ description: When true, this iClient is published and available for use.
592
+ x-celigo-ai-guidance:
593
+ - |-
594
+ ## IMPLEMENTATION GUIDANCE:
595
+ - Default to `false` unless you intend to publish the iClient.
596
+ - Indicates whether this iClient is published (available/visible for use).
597
+ - |-
598
+ ## EXAMPLES:
599
+ - `true`
600
+ - `false`
601
+ - |-
602
+ ## FIELD BEHAVIOR:
603
+ - Boolean flag: `true` or `false`.
604
+ - Used to control publication status in the UI.
605
+ enableJWT:
606
+ type: boolean
607
+ description: |-
608
+ Enables a JWT assertion as part of the OAuth token request.
609
+ When true, `{{{iClient.jwt.token}}}` resolves to the signed
610
+ JWT for use in the token URL request body. Requires the `jwt`
611
+ sub-object to be configured.
612
+ x-celigo-ai-guidance:
613
+ - |-
614
+ ## FIELD BEHAVIOR:
615
+ - When `true`, the iClient includes a JWT assertion/token as part of the OAuth token request.
616
+ - When `false`, the OAuth flow does not incorporate a JWT assertion component.
617
+ - |-
618
+ ## IMPLEMENTATION GUIDANCE:
619
+ - Enable only when your OAuth provider requires JWT assertion.
620
+ - Populate the `jwt` configuration (e.g., `iClient.jwt.*`) so `{{{iClient.jwt.token}}}` can be resolved.
621
+ - Use the resolved JWT token in the token request body parameters for the OAuth token URL, as required by the provider.
622
+ - |-
623
+ ## TECHNICAL DETAILS:
624
+ - The JWT token can be referenced via `{{{iClient.jwt.token}}}` during request templating.
625
+ - |-
626
+ ## IMPORTANT NOTES:
627
+ - This flag is for **OAuth JWT assertion** use-cases; it does not mean "all requests must include a JWT Authorization header."
628
+ - If enabled without configuring `iClient.jwt`, token generation will fail.
629
+ - |-
630
+ Enable this field when the OAuth provider requires an additional JWT assertion
631
+ as a component of the OAuth authentication flow;
632
+ when enabled,
633
+ use the Handlebars path `{{{iClient.jwt.token}}}` to obtain the JWT token value,
634
+ which is then used in the request body of the token URL to generate an access token.
635
+ - |-
636
+ ## EXAMPLES:
637
+ - `true` (OAuth token request includes a JWT assertion component)
638
+ - `false` (standard OAuth flow without JWT assertion)
639
+ - |-
640
+ ## DEPENDENCY CHAIN:
641
+ - Depends on `iClient.jwt` fields and the provider's OAuth token request requirements.
642
+ - Used when constructing the token URL request body for OAuth.
643
+ - |-
644
+ Enable this field when the OAuth provider requires an additional JWT assertion
645
+ as a component of the OAuth authentication flow;
646
+ when enabled,
647
+ use the Handlebars path `{{{iClient.jwt.token}}}` to obtain the JWT token value,
648
+ which is then used in the request body of the token URL to generate an access token.
649
+ - |-
650
+ Enable this field when the OAuth provider requires an additional JWT assertion
651
+ as a component of the OAuth authentication flow;
652
+ when enabled,
653
+ use the Handlebars path `{{{iClient.jwt.token}}}` to obtain the JWT token value,
654
+ which is then used in the request body of the token URL to generate an access token.
655
+ enableIClientReferences:
656
+ type: boolean
657
+ description: When true, other resources can reference this iClient's fields via Handlebars expressions.
658
+ x-celigo-ai-guidance:
659
+ - |-
660
+ ## IMPORTANT NOTES:
661
+ - Enabling iClient references may require additional permissions or configurations on the client or server side.
662
+ - Disabling this feature can improve security by limiting external references but may reduce functionality.
663
+ - Changes to this setting might require a system restart or reinitialization to take effect.
664
+ - |-
665
+ ## FIELD BEHAVIOR:
666
+ - When set to true, iClient references are enabled, allowing the system to recognize and process iClient-related interactions.
667
+ - When set to false, iClient references are disabled, and any related functionality will be ignored or unavailable.
668
+ - The field typically accepts a boolean value.
669
+ - |-
670
+ ## TECHNICAL DETAILS:
671
+ - Typically implemented as a boolean flag in the configuration.
672
+ - Controls conditional logic paths that handle iClient reference processing.
673
+ - May influence API endpoints, middleware behavior, or client-server communication protocols.
674
+ - |-
675
+ Determines whether the system should enable support for iClient references,
676
+ allowing integration and interaction with iClient components or services.
677
+ This setting controls the activation of features that facilitate communication,
678
+ data exchange, or functionality extension through iClient references.
679
+ - |-
680
+ ## IMPLEMENTATION GUIDANCE:
681
+ - Enable this setting only if your application requires integration with iClient components.
682
+ - Ensure that enabling this does not conflict with other system configurations or security policies.
683
+ - Validate the impact on performance and compatibility when toggling this setting.
684
+ - |-
685
+ ## EXAMPLES:
686
+ - true: Enables iClient references, allowing the system to interact with iClient services.
687
+ - false: Disables iClient references, preventing any iClient-related processing.
688
+ - |-
689
+ ## DEPENDENCY CHAIN:
690
+ - May depend on the presence of iClient libraries or modules within the system.
691
+ - Could be linked to authentication or authorization settings related to client references.
692
+ - Might interact with other integration or communication-related configuration properties.
693
+ - |-
694
+ Determines whether the system should enable support for iClient references,
695
+ allowing integration and interaction with iClient components or services.
696
+ This setting controls the activation of features that facilitate communication,
697
+ data exchange, or functionality extension through iClient references.
698
+ - |-
699
+ Determines whether the system should enable support for iClient references,
700
+ allowing integration and interaction with iClient components or services.
701
+ This setting controls the activation of features that facilitate communication,
702
+ data exchange, or functionality extension through iClient references.
703
+ formType:
704
+ type: string
705
+ enum:
706
+ - assistant
707
+ - http
708
+ x-enumDescriptions:
709
+ assistant: Guided setup form for applications where integrator.io provides a setup assistant; used when `_httpConnectorId` is set
710
+ http: Standard HTTP configuration form.
711
+ description: |-
712
+ UI form type. Set automatically by the UI: `assistant` when
713
+ `_httpConnectorId` is present, `http` otherwise.
714
+ x-celigo-ai-guidance:
715
+ - |-
716
+ ## IMPORTANT NOTES:
717
+ - The value must be lowercase (`assistant` or `http`).
718
+ - Changing this value impacts the UI experience for configuring the iClient.
719
+ - |-
720
+ ## FIELD BEHAVIOR:
721
+ - Controls the form layout and fields displayed in the UI.
722
+ - May affect validation and conditional rendering in the UI.
723
+ - Must be one of: `assistant`, `http`.
724
+ - |-
725
+ ## EXAMPLES:
726
+ - `assistant`
727
+ - `http`
728
+ - |-
729
+ ## DEPENDENCY CHAIN:
730
+ - Depends on whether the iClient is tied to an HTTP Connector (`_httpConnectorId`).
731
+ - Influences which UI renderer is selected for the resource.
732
+ - Specifies which UI form is used to configure this iClient in integrator.io.
733
+ - |-
734
+ ## IMPLEMENTATION GUIDANCE:
735
+ - Prefer letting the UI default this value based on `_httpConnectorId` unless you have a specific reason to override it.
736
+ - Use `assistant` when configuring via an iClient assistant-backed application.
737
+ - Use `http` for the standard HTTP configuration form.
738
+ - |-
739
+ ## TECHNICAL DETAILS:
740
+ - Stored as a lowercase string enum.
741
+ _httpConnectorId:
742
+ type: string
743
+ format: objectId
744
+ x-celigo-refModel: httpconnectors
745
+ description: HTTP connector backing this iClient's guided setup.
746
+ examples:
747
+ - 5d2e9c8b7a6f4e3d2c1b0a99
748
+ - 6a1f2b3c4d5e6f7a8b9c0d1e
749
+ x-celigo-ai-guidance:
750
+ - |-
751
+ ## IMPLEMENTATION GUIDANCE:
752
+ - Ensure the ID corresponds to a valid and active HTTP connector within the system.
753
+ - Validate the format of the ID to match expected patterns (e.g., UUID or predefined naming conventions).
754
+ - Use this field to dynamically select or switch HTTP connectors in multi-connector environments.
755
+ - Handle cases where the specified connector ID does not exist or is unavailable.
756
+ - |-
757
+ ## TECHNICAL DETAILS:
758
+ - Typically stored as a string data type.
759
+ - May be used as a key in lookup tables or configuration maps.
760
+ - Should be indexed for efficient retrieval in large-scale systems.
761
+ - |-
762
+ ## DEPENDENCY CHAIN:
763
+ - Depends on the existence of HTTP connector configurations within the system.
764
+ - May influence or be influenced by authentication, proxy, or network settings tied to the connector.
765
+ - |-
766
+ ## FIELD BEHAVIOR:
767
+ - Accepts a string representing the connector's unique ID.
768
+ - Used to reference an existing HTTP connector configuration.
769
+ - Required when the operation depends on a specific HTTP connector.
770
+ - Immutable once set during the lifecycle of the configuration.
771
+ - |-
772
+ Specifies the unique identifier for the HTTP connector used to establish network communication.
773
+ This ID links the configuration to a specific HTTP connector instance,
774
+ enabling the system to route requests appropriately.
775
+ - |-
776
+ ## IMPORTANT NOTES:
777
+ - This field is critical for routing HTTP requests correctly.
778
+ - Incorrect or missing connector IDs may lead to failed connections or errors.
779
+ - The connector ID must be managed securely to prevent unauthorized access.
780
+ - |-
781
+ ## EXAMPLES:
782
+ - "connector-1234abcd"
783
+ - "http-conn-5678efgh"
784
+ - "uuid-550e8400-e29b-41d4-a716-446655440000"
785
+ - |-
786
+ Specifies the unique identifier for the HTTP connector used to establish network communication.
787
+ This ID links the configuration to a specific HTTP connector instance,
788
+ enabling the system to route requests appropriately.
789
+ - |-
790
+ Specifies the unique identifier for the HTTP connector used to establish network communication.
791
+ This ID links the configuration to a specific HTTP connector instance,
792
+ enabling the system to route requests appropriately.
793
+ _httpConnectorApiId:
794
+ type: string
795
+ format: objectId
796
+ x-celigo-refModel: httpconnectorapis
797
+ description: HTTP connector API definition linked to this iClient.
798
+ examples:
799
+ - 669e1d90e3e73a17fb1fb1eb
800
+ - 5f3a9b2c8d4e1f6a7b0c2d3e
801
+ x-celigo-ai-guidance:
802
+ - |-
803
+ ## IMPLEMENTATION GUIDANCE:
804
+ - Validate the ID against the list of available HTTP Connector APIs before assignment.
805
+ - Ensure the ID format complies with the system's identifier standards (e.g., UUID or specific naming conventions).
806
+ - Handle cases where the referenced API ID does not exist or is deprecated.
807
+ - Use this property to dynamically bind or switch HTTP Connector APIs in configurations.
808
+ - |-
809
+ ## FIELD BEHAVIOR:
810
+ - Acts as a reference pointer to a specific HTTP Connector API instance.
811
+ - Must be a valid and existing API identifier within the system.
812
+ - Used to establish connections and route requests appropriately.
813
+ - Typically immutable once set to ensure consistent API linkage.
814
+ - |-
815
+ ## EXAMPLES:
816
+ - "api-123e4567-e89b-12d3-a456-426614174000"
817
+ - "http-connector-v2"
818
+ - "connectorApi_987654321"
819
+ - |-
820
+ ## TECHNICAL DETAILS:
821
+ - Typically stored as a string data type.
822
+ - Should be indexed for efficient lookup in large systems.
823
+ - May be linked to metadata describing the HTTP Connector API's capabilities and endpoints.
824
+ - Often integrated with API management tools or service registries.
825
+ - |-
826
+ Specifies the unique identifier of the HTTP Connector API associated with the
827
+ current configuration or operation.
828
+ This ID is used to reference and link the HTTP Connector API within the system,
829
+ enabling seamless integration and communication between components.
830
+ - |-
831
+ ## IMPORTANT NOTES:
832
+ - This property is critical for routing HTTP requests correctly.
833
+ - Incorrect or missing IDs can lead to failed API calls or misrouted traffic.
834
+ - Changes to this ID should be managed carefully to avoid breaking integrations.
835
+ - May require appropriate permissions to read or modify.
836
+ - |-
837
+ ## DEPENDENCY CHAIN:
838
+ - Depends on the existence of the HTTP Connector API registry or catalog.
839
+ - Used by components responsible for HTTP request handling and routing.
840
+ - May influence authentication, authorization, and logging mechanisms tied to the API.
841
+ - |-
842
+ Specifies the unique identifier of the HTTP Connector API associated with the
843
+ current configuration or operation.
844
+ This ID is used to reference and link the HTTP Connector API within the system,
845
+ enabling seamless integration and communication between components.
846
+ - |-
847
+ Specifies the unique identifier of the HTTP Connector API associated with the
848
+ current configuration or operation.
849
+ This ID is used to reference and link the HTTP Connector API within the system,
850
+ enabling seamless integration and communication between components.
851
+ settings:
852
+ type: object
853
+ description: |-
854
+ Connector-specific settings (e.g. region, environment, instance
855
+ URI). Shape varies by connector.
856
+ x-celigo-ai-guidance:
857
+ - |-
858
+ An object containing configuration options that customize the behavior and
859
+ features of the system or application.
860
+ This property allows users or developers to specify various parameters,
861
+ preferences, and toggles that influence how the system operates,
862
+ enabling flexible and dynamic adjustments to meet different requirements.
863
+ - |-
864
+ ## EXAMPLES:
865
+ - Setting a timeout duration with `"timeout": 3000`.
866
+ - Configuring logging levels with `"logging": {"level": "verbose", "output": "file"}`.
867
+ - Toggling feature flags such as `"features": {"betaAccess": true, "newUI": false}`.
868
+ - |-
869
+ ## IMPLEMENTATION GUIDANCE:
870
+ - Validate the structure and data types of the settings to ensure correctness.
871
+ - Provide default values for unspecified settings to maintain predictable behavior.
872
+ - Allow extensibility to accommodate future settings without breaking compatibility.
873
+ - Document each configurable option clearly to guide users in setting appropriate values.
874
+ - |-
875
+ ## IMPORTANT NOTES:
876
+ - Changes to settings may require system restart or reinitialization to take effect.
877
+ - Improper configuration can lead to unexpected behavior or degraded performance.
878
+ - Sensitive settings should be protected and validated to prevent security risks.
879
+ - The settings object should be kept as concise as possible to avoid complexity.
880
+ - |-
881
+ ## TECHNICAL DETAILS:
882
+ - Typically represented as a JSON object or equivalent data structure.
883
+ - Supports various data types including strings, numbers, booleans, arrays, and nested objects.
884
+ - May be stored in configuration files, databases, or managed via APIs.
885
+ - Should support serialization and deserialization for persistence and transmission.
886
+ - |-
887
+ ## FIELD BEHAVIOR:
888
+ - Accepts a structured set of key-value pairs representing different configuration settings.
889
+ - Can include nested objects to group related settings logically.
890
+ - Modifications to this property typically affect system behavior immediately or upon the next initialization.
891
+ - Supports enabling or disabling features, setting thresholds, defining modes, and other customizable options.
892
+ - |-
893
+ ## DEPENDENCY CHAIN:
894
+ - Dependent on the system's configuration management module.
895
+ - May influence or be influenced by user preferences and environment variables.
896
+ - Interacts with feature toggles, access controls, and runtime parameters.
897
+ - |-
898
+ An object containing configuration options that customize the behavior and
899
+ features of the system or application.
900
+ This property allows users or developers to specify various parameters,
901
+ preferences, and toggles that influence how the system operates,
902
+ enabling flexible and dynamic adjustments to meet different requirements.
903
+ - |-
904
+ An object containing configuration options that customize the behavior and
905
+ features of the system or application.
906
+ This property allows users or developers to specify various parameters,
907
+ preferences, and toggles that influence how the system operates,
908
+ enabling flexible and dynamic adjustments to meet different requirements.
909
+ settingsForm:
910
+ type: object
911
+ description: Dynamic UI form definition for the settings object.
912
+ x-celigo-ai-guidance:
913
+ - |-
914
+ ## EXAMPLES:
915
+ - A form object with fields for username, email preferences, and notification settings.
916
+ - A nested form structure with sections for privacy, display, and account management.
917
+ - Validation rules specifying required fields and acceptable value ranges.
918
+ - |-
919
+ An object representing the configuration and structure of a settings form used
920
+ to capture user preferences or application parameters.
921
+ This form typically includes fields, validation rules, default values,
922
+ and UI metadata necessary for rendering and processing the settings interface.
923
+ - |-
924
+ ## IMPORTANT NOTES:
925
+ - The form should be designed to accommodate localization and accessibility standards.
926
+ - Changes to the form structure may require corresponding updates in the UI and backend processing.
927
+ - Ensure sensitive data fields are handled securely and comply with privacy regulations.
928
+ - |-
929
+ ## IMPLEMENTATION GUIDANCE:
930
+ - Structure the form object to include field definitions, types, labels, and validation constraints.
931
+ - Include metadata for UI rendering such as placeholders, tooltips, and grouping.
932
+ - Ensure validation rules are comprehensive to prevent invalid input.
933
+ - Support extensibility to add or modify fields without breaking existing functionality.
934
+ - |-
935
+ ## TECHNICAL DETAILS:
936
+ - Typically represented as a JSON object or similar structured data format.
937
+ - May include nested objects or arrays to represent complex form hierarchies.
938
+ - Validation rules can be expressed using standard schemas or custom logic.
939
+ - Supports integration with form libraries or frameworks for rendering and state management.
940
+ - |-
941
+ ## DEPENDENCY CHAIN:
942
+ - Depends on UI components to render the form fields.
943
+ - Relies on validation logic to enforce input correctness.
944
+ - Interacts with backend services to save and retrieve settings data.
945
+ - |-
946
+ ## FIELD BEHAVIOR:
947
+ - Defines the layout and components of the settings form.
948
+ - Contains input fields with associated validation and default values.
949
+ - Supports dynamic updates based on user interaction or external data.
950
+ - Facilitates submission and retrieval of user-configured settings.
951
+ - |-
952
+ An object representing the configuration and structure of a settings form used
953
+ to capture user preferences or application parameters.
954
+ This form typically includes fields, validation rules, default values,
955
+ and UI metadata necessary for rendering and processing the settings interface.
956
+ - |-
957
+ An object representing the configuration and structure of a settings form used
958
+ to capture user preferences or application parameters.
959
+ This form typically includes fields, validation rules, default values,
960
+ and UI metadata necessary for rendering and processing the settings interface.
961
+ oauth2:
962
+ type: object
963
+ description: |-
964
+ OAuth 2.0 configuration. Used when `provider` is `custom_oauth2`
965
+ or any OAuth-based provider.
966
+ x-celigo-ai-guidance:
967
+ - |-
968
+ ## DEPENDENCY CHAIN:
969
+ - Depends on the presence of an OAuth 2.0 compliant authorization server.
970
+ - Requires secure storage and transmission of client credentials.
971
+ - Interacts with API endpoints that enforce OAuth 2.0 token validation.
972
+ - |-
973
+ ## IMPLEMENTATION GUIDANCE:
974
+ - Ensure URLs for authorization and token endpoints are accurate and reachable.
975
+ - Clearly define the scopes to limit access according to least privilege principles.
976
+ - Include client ID and client secret securely, avoiding exposure in client-side code.
977
+ - Support refresh tokens if long-lived sessions are required.
978
+ - Validate tokens on the server side to maintain security.
979
+ - |-
980
+ ## TECHNICAL DETAILS:
981
+ - Typically includes fields like authorizationUrl, tokenUrl, refreshUrl, scopes, clientId, clientSecret, and grantTypes.
982
+ - Uses HTTPS endpoints to ensure secure communication.
983
+ - May support PKCE (Proof Key for Code Exchange) for enhanced security in public clients.
984
+ - Tokens are usually JWTs or opaque tokens depending on the OAuth provider implementation.
985
+ - |-
986
+ ## FIELD BEHAVIOR:
987
+ - Defines the OAuth 2.0 flow and parameters required for client authentication.
988
+ - Specifies the endpoints for obtaining authorization and access tokens.
989
+ - Lists the scopes that determine the level of access granted.
990
+ - Supports multiple OAuth 2.0 grant types (e.g., authorization code, client credentials).
991
+ - Enables secure token exchange and refresh mechanisms.
992
+ - |-
993
+ ## EXAMPLES:
994
+ - Authorization code flow with authorization URL, token URL, and scopes.
995
+ - Client credentials flow with token URL and client credentials.
996
+ - Implicit flow configuration for single-page applications.
997
+ - Refresh token configuration for renewing access tokens.
998
+ - |-
999
+ ## IMPORTANT NOTES:
1000
+ - OAuth 2.0 configurations must comply with the security best practices to prevent token leakage.
1001
+ - Sensitive information such as client secrets should never be exposed publicly.
1002
+ - The choice of grant type depends on the client application type and security requirements.
1003
+ - Proper error handling should be implemented for token acquisition failures.
1004
+ - |-
1005
+ Configuration settings for OAuth 2.0 authentication,
1006
+ enabling secure authorization and access delegation for API clients.
1007
+ This property typically includes details such as authorization URLs, token URLs,
1008
+ scopes, client credentials, and grant types supported by the OAuth 2.0 provider.
1009
+ - |-
1010
+ Configuration settings for OAuth 2.0 authentication,
1011
+ enabling secure authorization and access delegation for API clients.
1012
+ This property typically includes details such as authorization URLs, token URLs,
1013
+ scopes, client credentials, and grant types supported by the OAuth 2.0 provider.
1014
+ - |-
1015
+ Configuration settings for OAuth 2.0 authentication,
1016
+ enabling secure authorization and access delegation for API clients.
1017
+ This property typically includes details such as authorization URLs, token URLs,
1018
+ scopes, client credentials, and grant types supported by the OAuth 2.0 provider.
1019
+ properties:
1020
+ clientId:
1021
+ type: string
1022
+ description: OAuth 2.0 client ID from the provider's app registration.
1023
+ x-celigo-ai-guidance:
1024
+ - |-
1025
+ ## DEPENDENCY CHAIN:
1026
+ - Dependent on successful client registration with the OAuth 2.0 authorization server.
1027
+ - Used in conjunction with client secret (if applicable) during token requests.
1028
+ - Required for constructing authorization URLs and token exchange requests.
1029
+ - |-
1030
+ ## FIELD BEHAVIOR:
1031
+ - Must be a unique string assigned by the authorization server.
1032
+ - Used in authorization and token request flows to identify the client application.
1033
+ - Typically remains constant for the lifetime of the client registration.
1034
+ - Should be included in all OAuth 2.0 requests where client identification is required.
1035
+ - |-
1036
+ ## TECHNICAL DETAILS:
1037
+ - Typically a string of alphanumeric characters, sometimes including dashes or underscores.
1038
+ - May be case-sensitive depending on the OAuth provider.
1039
+ - Passed as a query parameter or in the request body during OAuth flows.
1040
+ - Must conform to the OAuth 2.0 specification and provider-specific requirements.
1041
+ - |-
1042
+ The unique identifier assigned to a client application during the OAuth 2.0
1043
+ registration process.
1044
+ This client ID is used to identify the application when making authorization
1045
+ requests to the OAuth 2.0 authorization server.
1046
+ It is a public value that is included in authorization requests and token
1047
+ exchanges to associate the requests with the registered client.
1048
+ - |-
1049
+ ## IMPLEMENTATION GUIDANCE:
1050
+ - Obtain the client ID from the OAuth 2.0 provider during client registration.
1051
+ - Store the client ID securely within the application configuration.
1052
+ - Do not treat the client ID as a secret; it can be exposed in URLs and logs.
1053
+ - Validate the client ID format according to the OAuth provider's specifications.
1054
+ - |-
1055
+ ## IMPORTANT NOTES:
1056
+ - The client ID is distinct from the client secret; the latter must be kept confidential.
1057
+ - Exposure of the client ID does not compromise security but is necessary for proper OAuth flows.
1058
+ - Ensure the client ID matches exactly the value registered with the OAuth provider to avoid authentication errors.
1059
+ - |-
1060
+ ## EXAMPLES:
1061
+ - "abc123xyz"
1062
+ - "myapp-client-001"
1063
+ - "1234567890abcdef"
1064
+ - |-
1065
+ The unique identifier assigned to a client application during the OAuth 2.0
1066
+ registration process.
1067
+ This client ID is used to identify the application when making authorization
1068
+ requests to the OAuth 2.0 authorization server.
1069
+ It is a public value that is included in authorization requests and token
1070
+ exchanges to associate the requests with the registered client.
1071
+ - |-
1072
+ The unique identifier assigned to a client application during the OAuth 2.0
1073
+ registration process.
1074
+ This client ID is used to identify the application when making authorization
1075
+ requests to the OAuth 2.0 authorization server.
1076
+ It is a public value that is included in authorization requests and token
1077
+ exchanges to associate the requests with the registered client.
1078
+ examples:
1079
+ - 1096775564568-cucr5sv44tgfec4kkqsufi5k975d8orv.apps.googleusercontent.com
1080
+ - abc123xyz
1081
+ - myapp-client-001
1082
+ - 1234567890abcdef
1083
+ clientSecret:
1084
+ type: string
1085
+ description: |-
1086
+ OAuth 2.0 client secret. Returned masked as `"******"`.
1087
+ Re-send that value on update to keep it; it is not preserved if omitted.
1088
+ x-celigo-ai-guidance:
1089
+ - |-
1090
+ ## IMPLEMENTATION GUIDANCE:
1091
+ - Provide the plain client secret value here to set/update it.
1092
+ - To keep the existing secret unchanged during an update, omit this field (or, if the API/UI returns a masked value, keep `"******"` as-is).
1093
+ - |-
1094
+ This is the value you provide to configure or update the iClient.
1095
+ Internally,
1096
+ integrator.io stores this secret encrypted at rest (for example as
1097
+ `clientSecret_crypt` and `clientSecret_salt` fields in the underlying model),
1098
+ and API responses typically return a masked value (e.g.,
1099
+ `"******"`) when a secret is already set.
1100
+ - |-
1101
+ This is the value you provide to configure or update the iClient.
1102
+ Internally,
1103
+ integrator.io stores this secret encrypted at rest (for example as
1104
+ `clientSecret_crypt` and `clientSecret_salt` fields in the underlying model),
1105
+ and API responses typically return a masked value (e.g.,
1106
+ `"******"`) when a secret is already set.
1107
+ - |-
1108
+ This is the value you provide to configure or update the iClient.
1109
+ Internally,
1110
+ integrator.io stores this secret encrypted at rest (for example as
1111
+ `clientSecret_crypt` and `clientSecret_salt` fields in the underlying model),
1112
+ and API responses typically return a masked value (e.g.,
1113
+ `"******"`) when a secret is already set.
1114
+ scope:
1115
+ type: array
1116
+ items:
1117
+ type: string
1118
+ description: |-
1119
+ OAuth 2.0 scopes. The API accepts a string on input but
1120
+ always returns an array in responses.
1121
+ x-celigo-ai-guidance:
1122
+ - |-
1123
+ ## DEPENDENCY CHAIN:
1124
+ - Depends on the OAuth 2.0 authorization server's scope definitions.
1125
+ - Influences the access token issued and the permissions it carries.
1126
+ - Affects user consent and authorization decisions.
1127
+ - Interacts with resource server policies enforcing scope-based access control.
1128
+ - |-
1129
+ ## TECHNICAL DETAILS:
1130
+ - Represented as a single string with space-separated scope values.
1131
+ - Included as a parameter in the authorization request and token request.
1132
+ - Returned in the access token response under the "scope" attribute.
1133
+ - Must conform to the OAuth 2.0 specification (RFC 6749) for scope syntax and semantics.
1134
+ - |-
1135
+ ## FIELD BEHAVIOR:
1136
+ - Specifies one or more space-delimited strings representing permissions.
1137
+ - Determines the extent of access granted by the access token.
1138
+ - Can be optional or required depending on the OAuth 2.0 flow and server configuration.
1139
+ - May influence the consent screen shown to the user during authorization.
1140
+ - |-
1141
+ ## IMPORTANT NOTES:
1142
+ - Scopes are case-sensitive and must be handled consistently.
1143
+ - Overly broad scopes can lead to security risks; prefer minimal necessary scopes.
1144
+ - Some OAuth providers define custom scopes specific to their APIs.
1145
+ - The absence of a scope parameter may result in default or limited access.
1146
+ - |-
1147
+ Defines the specific permissions or access levels that the OAuth 2.0 token
1148
+ grants to the client application.
1149
+ Scopes limit the actions and resources the client can access on behalf of the user,
1150
+ ensuring fine-grained control over authorization.
1151
+ - |-
1152
+ ## IMPLEMENTATION GUIDANCE:
1153
+ - Use standardized or well-defined scope values to ensure interoperability.
1154
+ - Clearly document the meaning and permissions associated with each scope.
1155
+ - Support multiple scopes by allowing space-separated values.
1156
+ - Validate requested scopes against allowed scopes on the authorization server.
1157
+ - Return granted scopes in the token response to inform the client of authorized permissions.
1158
+ - |-
1159
+ ## EXAMPLES:
1160
+ - "read"
1161
+ - "write"
1162
+ - "openid profile email"
1163
+ - "user.read user.write"
1164
+ - "https://api.example.com/auth/calendar.read"
1165
+ - |-
1166
+ Defines the specific permissions or access levels that the OAuth 2.0 token
1167
+ grants to the client application.
1168
+ Scopes limit the actions and resources the client can access on behalf of the user,
1169
+ ensuring fine-grained control over authorization.
1170
+ - |-
1171
+ Defines the specific permissions or access levels that the OAuth 2.0 token
1172
+ grants to the client application.
1173
+ Scopes limit the actions and resources the client can access on behalf of the user,
1174
+ ensuring fine-grained control over authorization.
1175
+ scopeDelimiter:
1176
+ type: string
1177
+ description: |-
1178
+ Character separating multiple scopes in a single string.
1179
+ Defaults to space per the OAuth 2.0 spec (RFC 6749).
1180
+ x-celigo-ai-guidance:
1181
+ - |-
1182
+ ## TECHNICAL DETAILS:
1183
+ - Typically a single character but can be a string if supported.
1184
+ - Used in string splitting functions to parse scope lists.
1185
+ - Should be URL-encoded if it is a special character in URLs.
1186
+ - Must be consistent with the OAuth2 provider's expectations to ensure interoperability.
1187
+ - |-
1188
+ ## DEPENDENCY CHAIN:
1189
+ - Depends on the OAuth2 authorization server's scope formatting requirements.
1190
+ - Influences how the 'scope' parameter in authorization requests and tokens is constructed and parsed.
1191
+ - May affect downstream components that interpret or validate scopes.
1192
+ - |-
1193
+ ## FIELD BEHAVIOR:
1194
+ - Defines how multiple scopes are split and recognized in authorization requests.
1195
+ - Ensures correct parsing of scope strings when multiple scopes are requested simultaneously.
1196
+ - Influences the format of the scope parameter in OAuth2 authorization URLs and tokens.
1197
+ - |-
1198
+ Specifies the character or string used to separate multiple OAuth2 scopes within
1199
+ a single authorization request or token.
1200
+ This delimiter enables the parsing and interpretation of scope values when they
1201
+ are provided as a concatenated string.
1202
+ Common delimiters include spaces, commas,
1203
+ or other characters depending on the OAuth2 provider's implementation.
1204
+ - |-
1205
+ ## EXAMPLES:
1206
+ - Space character (" ") as a delimiter: "read write delete"
1207
+ - Comma (",") as a delimiter: "read,write,delete"
1208
+ - Semicolon (";") as a delimiter: "read;write;delete"
1209
+ - |-
1210
+ ## IMPLEMENTATION GUIDANCE:
1211
+ - Choose a delimiter that aligns with the OAuth2 provider's specification or defaults (e.g., space is standard per OAuth2 spec).
1212
+ - Ensure consistent use of the delimiter across all OAuth2 requests and responses.
1213
+ - Validate scope strings to correctly split and handle multiple scopes using this delimiter.
1214
+ - Document the chosen delimiter clearly for developers integrating with the API.
1215
+ - |-
1216
+ ## IMPORTANT NOTES:
1217
+ - The OAuth2 specification (RFC 6749) recommends using a space character as the scope delimiter.
1218
+ - Some OAuth2 providers may use non-standard delimiters; this property allows customization to accommodate those cases.
1219
+ - Incorrect delimiter configuration can lead to authorization failures or incorrect scope parsing.
1220
+ - When omitted, the default delimiter is typically a space character.
1221
+ - |-
1222
+ Specifies the character or string used to separate multiple OAuth2 scopes within
1223
+ a single authorization request or token.
1224
+ This delimiter enables the parsing and interpretation of scope values when they
1225
+ are provided as a concatenated string.
1226
+ Common delimiters include spaces, commas,
1227
+ or other characters depending on the OAuth2 provider's implementation.
1228
+ - |-
1229
+ Specifies the character or string used to separate multiple OAuth2 scopes within
1230
+ a single authorization request or token.
1231
+ This delimiter enables the parsing and interpretation of scope values when they
1232
+ are provided as a concatenated string.
1233
+ Common delimiters include spaces, commas,
1234
+ or other characters depending on the OAuth2 provider's implementation.
1235
+ examples:
1236
+ - ' '
1237
+ redirectUri:
1238
+ type: string
1239
+ description: OAuth 2.0 redirect URI registered with the provider.
1240
+ x-celigo-ai-guidance:
1241
+ - |-
1242
+ ## DEPENDENCY CHAIN:
1243
+ - Depends on the authorization server's registered redirect URIs.
1244
+ - Used in conjunction with client_id and response_type parameters.
1245
+ - Integral to OAuth 2.0 authorization code and implicit grant flows.
1246
+ - |-
1247
+ ## TECHNICAL DETAILS:
1248
+ - Must conform to URI syntax as per RFC 3986.
1249
+ - Typically uses HTTPS scheme for security.
1250
+ - Should be URL-encoded when included in authorization requests.
1251
+ - The authorization server compares the redirect URI in the request with the registered URIs for exact match or pattern match depending on server policy.
1252
+ - |-
1253
+ ## EXAMPLES:
1254
+ - https://client.example.com/callback
1255
+ - https://app.example.com/oauth2/callback
1256
+ - https://localhost:8080/auth/callback (for development purposes)
1257
+ - |-
1258
+ ## IMPLEMENTATION GUIDANCE:
1259
+ - Ensure the redirect URI is registered with the authorization server before use.
1260
+ - Use HTTPS to protect the integrity and confidentiality of the redirect.
1261
+ - Avoid using wildcard or overly broad redirect URIs.
1262
+ - Validate the redirect URI strictly on the server side to prevent open redirect vulnerabilities.
1263
+ - |-
1264
+ ## IMPORTANT NOTES:
1265
+ - Mismatched redirect URIs will cause authorization requests to fail.
1266
+ - Redirect URIs should not contain fragments (#).
1267
+ - Avoid using query parameters unless necessary and registered.
1268
+ - The redirect URI is critical for security; improper configuration can lead to token leakage.
1269
+ - |-
1270
+ ## FIELD BEHAVIOR:
1271
+ - Specifies the callback endpoint for the authorization response.
1272
+ - Must be an absolute URI.
1273
+ - Used to return authorization codes or tokens after user consent.
1274
+ - Validated against pre-registered URIs to ensure security.
1275
+ - |-
1276
+ The URI to which the authorization server will redirect the user-agent after
1277
+ granting or denying access.
1278
+ This URI must be registered with the authorization server and should exactly
1279
+ match one of the pre-registered redirect URIs to prevent security
1280
+ vulnerabilities such as open redirect attacks.
1281
+ It is used in OAuth 2.0 authorization flows to receive authorization codes or
1282
+ access tokens securely.
1283
+ - |-
1284
+ The URI to which the authorization server will redirect the user-agent after
1285
+ granting or denying access.
1286
+ This URI must be registered with the authorization server and should exactly
1287
+ match one of the pre-registered redirect URIs to prevent security
1288
+ vulnerabilities such as open redirect attacks.
1289
+ It is used in OAuth 2.0 authorization flows to receive authorization codes or
1290
+ access tokens securely.
1291
+ - |-
1292
+ The URI to which the authorization server will redirect the user-agent after
1293
+ granting or denying access.
1294
+ This URI must be registered with the authorization server and should exactly
1295
+ match one of the pre-registered redirect URIs to prevent security
1296
+ vulnerabilities such as open redirect attacks.
1297
+ It is used in OAuth 2.0 authorization flows to receive authorization codes or
1298
+ access tokens securely.
1299
+ examples:
1300
+ - https://api.integrator.io/connection/oauth2callback
1301
+ - https://client.example.com/callback
1302
+ - https://app.example.com/oauth2/callback
1303
+ - https://localhost:8080/auth/callback
1304
+ grantType:
1305
+ type: string
1306
+ enum:
1307
+ - authorizecode
1308
+ - password
1309
+ - clientcredentials
1310
+ x-enumDescriptions:
1311
+ authorizecode: Authorization Code grant (server-side flows with user authorization).
1312
+ password: Resource Owner Password Credentials grant (trusted apps with direct credentials).
1313
+ clientcredentials: Client Credentials grant (machine-to-machine, no user involvement).
1314
+ description: OAuth 2.0 grant type.
1315
+ examples:
1316
+ - password
1317
+ x-celigo-ai-guidance:
1318
+ - |-
1319
+ ## FIELD BEHAVIOR:
1320
+ - Defines the method by which the client application requests an access token.
1321
+ - Influences the parameters required in the token request.
1322
+ - Determines the security and user interaction model of the OAuth flow.
1323
+ - Must align with the authorization server's supported grant types.
1324
+ - |-
1325
+ ## IMPORTANT NOTES:
1326
+ - Some grant types require additional parameters (e.g., "authorization_code" requires a code).
1327
+ - Using the "password" grant type is discouraged due to security risks.
1328
+ - The choice of grant type affects the overall security posture of the application.
1329
+ - Always use secure communication channels (HTTPS) when transmitting tokens and credentials.
1330
+ - |-
1331
+ ## TECHNICAL DETAILS:
1332
+ - Must be a string matching one of the OAuth 2.0 defined grant types or extensions.
1333
+ - Sent as a parameter in the token request payload or URL-encoded form.
1334
+ - Case-sensitive and must conform to the OAuth 2.0 specification (RFC 6749).
1335
+ - May require additional headers or parameters depending on the grant type.
1336
+ - |-
1337
+ ## EXAMPLES:
1338
+ - "authorization_code" for standard web server flows involving user authorization.
1339
+ - "client_credentials" for machine-to-machine authentication without user involvement.
1340
+ - "password" for legacy applications where the user provides credentials directly.
1341
+ - "refresh_token" to obtain a new access token using a previously issued refresh token.
1342
+ - |-
1343
+ ## IMPLEMENTATION GUIDANCE:
1344
+ - Choose the grant type based on the client application's capabilities and security requirements.
1345
+ - Ensure the authorization server supports the specified grant type.
1346
+ - Validate the grant type value against the OAuth 2.0 specification and any extensions used.
1347
+ - Handle errors gracefully if an unsupported or invalid grant type is provided.
1348
+ - |-
1349
+ ## DEPENDENCY CHAIN:
1350
+ - Depends on the OAuth 2.0 authorization server configuration.
1351
+ - Influences the required request parameters and token endpoint behavior.
1352
+ - Affects client registration details and scopes granted.
1353
+ - |-
1354
+ Specifies the OAuth 2.0 grant type used to obtain an access token from the authorization server.
1355
+ This parameter determines the flow of the authentication process and how the
1356
+ client interacts with the authorization server to request and receive tokens.
1357
+ Common grant types include "authorization_code", "client_credentials",
1358
+ "password", and "refresh_token",
1359
+ each serving different use cases and security considerations.
1360
+ - |-
1361
+ Specifies the OAuth 2.0 grant type used to obtain an access token from the authorization server.
1362
+ This parameter determines the flow of the authentication process and how the
1363
+ client interacts with the authorization server to request and receive tokens.
1364
+ Common grant types include "authorization_code", "client_credentials",
1365
+ "password", and "refresh_token",
1366
+ each serving different use cases and security considerations.
1367
+ - |-
1368
+ Specifies the OAuth 2.0 grant type used to obtain an access token from the authorization server.
1369
+ This parameter determines the flow of the authentication process and how the
1370
+ client interacts with the authorization server to request and receive tokens.
1371
+ Common grant types include "authorization_code", "client_credentials",
1372
+ "password", and "refresh_token",
1373
+ each serving different use cases and security considerations.
1374
+ clientCredentialsLocation:
1375
+ type: string
1376
+ enum:
1377
+ - basicauthheader
1378
+ - body
1379
+ x-enumDescriptions:
1380
+ basicauthheader: Client credentials sent in the Authorization header (HTTP Basic).
1381
+ body: Client credentials sent as form parameters in the POST body.
1382
+ description: Where to include client credentials in the token request.
1383
+ x-celigo-ai-guidance:
1384
+ - |-
1385
+ ## IMPORTANT NOTES:
1386
+ - Sending credentials in the header is generally preferred for security reasons.
1387
+ - Some OAuth 2.0 servers may only support one method; verify server documentation.
1388
+ - Incorrect configuration may lead to authentication failures.
1389
+ - Avoid exposing client credentials in URLs or query parameters.
1390
+ - |-
1391
+ ## IMPLEMENTATION GUIDANCE:
1392
+ - Use "header" to send credentials via the Authorization header using Basic authentication.
1393
+ - Use "body" to include credentials as form parameters in the POST request body.
1394
+ - Ensure compatibility with the OAuth 2.0 server's expected credential location.
1395
+ - Validate that the chosen location aligns with security best practices and server requirements.
1396
+ - |-
1397
+ ## FIELD BEHAVIOR:
1398
+ - Defines where to place client credentials during the token request.
1399
+ - Accepts values indicating header or body placement.
1400
+ - Influences how the authentication server receives and validates client credentials.
1401
+ - |-
1402
+ Specifies the location within the HTTP request where the client credentials
1403
+ (such as client ID and client secret) should be included when using the OAuth
1404
+ 2.0 client credentials grant type.
1405
+ This setting determines whether the credentials are sent in the request header
1406
+ (typically using the Authorization header with Basic authentication) or in the
1407
+ request body as form parameters.
1408
+ - |-
1409
+ ## TECHNICAL DETAILS:
1410
+ - When set to "header", credentials are base64-encoded and included in the Authorization header.
1411
+ - When set to "body", credentials are included as "client_id" and "client_secret" form parameters.
1412
+ - Must comply with the OAuth 2.0 specification (RFC 6749) regarding client authentication methods.
1413
+ - |-
1414
+ ## DEPENDENCY CHAIN:
1415
+ - Depends on the OAuth 2.0 client credentials grant type being used.
1416
+ - Works in conjunction with clientId and clientSecret properties.
1417
+ - Affects the construction of the token request sent to the authorization server.
1418
+ - |-
1419
+ Specifies the location within the HTTP request where the client credentials
1420
+ (such as client ID and client secret) should be included when using the OAuth
1421
+ 2.0 client credentials grant type.
1422
+ This setting determines whether the credentials are sent in the request header
1423
+ (typically using the Authorization header with Basic authentication) or in the
1424
+ request body as form parameters.
1425
+ - |-
1426
+ Specifies the location within the HTTP request where the client credentials
1427
+ (such as client ID and client secret) should be included when using the OAuth
1428
+ 2.0 client credentials grant type.
1429
+ This setting determines whether the credentials are sent in the request header
1430
+ (typically using the Authorization header with Basic authentication) or in the
1431
+ request body as form parameters.
1432
+ accessTokenLocation:
1433
+ type: string
1434
+ enum:
1435
+ - url
1436
+ - header
1437
+ - body
1438
+ x-enumDescriptions:
1439
+ url: Access token sent as a URL query parameter.
1440
+ header: Access token sent in the Authorization header.
1441
+ body: Access token sent in the POST request body.
1442
+ description: Where the access token is included in API requests.
1443
+ x-celigo-ai-guidance:
1444
+ - |-
1445
+ ## DEPENDENCY CHAIN:
1446
+ - Depends on the OAuth 2.0 flow and server requirements.
1447
+ - Works in conjunction with the access token value and token type.
1448
+ - Influences request construction and security considerations.
1449
+ - |-
1450
+ ## TECHNICAL DETAILS:
1451
+ - When set to "header", typically uses the "Authorization: Bearer <token>" format.
1452
+ - When set to "query", appends the token as a URL parameter, often named "access_token".
1453
+ - When set to "body", includes the token in the request payload, usually as a form parameter.
1454
+ - Must be handled securely to prevent token leakage.
1455
+ - |-
1456
+ ## FIELD BEHAVIOR:
1457
+ - Defines the method of including the access token in API requests.
1458
+ - Common values include "header", "query", or "body".
1459
+ - Influences how the client constructs the request for authentication.
1460
+ - |-
1461
+ ## IMPLEMENTATION GUIDANCE:
1462
+ - Verify the API specification to determine the supported token locations.
1463
+ - Use "header" to include the token in the Authorization header (e.g., Bearer token).
1464
+ - Use "query" to append the token as a URL query parameter.
1465
+ - Use "body" to include the token within the request payload, typically for POST requests.
1466
+ - Ensure secure transmission, especially when using query parameters.
1467
+ - |-
1468
+ ## IMPORTANT NOTES:
1469
+ - Sending tokens in query parameters can expose them in logs or browser history; use with caution.
1470
+ - The chosen location must align with the OAuth 2.0 server's expectations.
1471
+ - Some APIs may only support one method; incorrect configuration can lead to authentication failures.
1472
+ - |-
1473
+ Specifies the location where the OAuth 2.0 access token should be included when
1474
+ making API requests.
1475
+ This determines how the access token is transmitted to the server,
1476
+ such as in the HTTP header, query parameters, or request body.
1477
+ Proper configuration of this field ensures that the token is sent in a manner
1478
+ compatible with the API's authentication requirements.
1479
+ - |-
1480
+ Specifies the location where the OAuth 2.0 access token should be included when
1481
+ making API requests.
1482
+ This determines how the access token is transmitted to the server,
1483
+ such as in the HTTP header, query parameters, or request body.
1484
+ Proper configuration of this field ensures that the token is sent in a manner
1485
+ compatible with the API's authentication requirements.
1486
+ - |-
1487
+ Specifies the location where the OAuth 2.0 access token should be included when
1488
+ making API requests.
1489
+ This determines how the access token is transmitted to the server,
1490
+ such as in the HTTP header, query parameters, or request body.
1491
+ Proper configuration of this field ensures that the token is sent in a manner
1492
+ compatible with the API's authentication requirements.
1493
+ accessTokenHeaderName:
1494
+ type:
1495
+ - string
1496
+ - 'null'
1497
+ description: |-
1498
+ Header name for the access token when `accessTokenLocation`
1499
+ is `header`. Defaults to `Authorization`.
1500
+ x-celigo-ai-guidance:
1501
+ - |-
1502
+ ## EXAMPLES:
1503
+ - `Authorization` (typically with value `Bearer <token>`)
1504
+ - `X-Access-Token`
1505
+ - Header name used to send the OAuth 2.0 access token.
1506
+ examples:
1507
+ - Authorization
1508
+ - '`Authorization`'
1509
+ - '`X-Access-Token`'
1510
+ accessTokenParamName:
1511
+ type: string
1512
+ description: |-
1513
+ Parameter name when the access token is sent as a
1514
+ query or body parameter.
1515
+ x-celigo-ai-guidance:
1516
+ - |-
1517
+ ## EXAMPLES:
1518
+ - `access_token`
1519
+ - `token`
1520
+ - `auth_token`
1521
+ - |-
1522
+ Parameter name used when the access token is passed as a query/body parameter
1523
+ (instead of a header).
1524
+ - |-
1525
+ Parameter name used when the access token is passed as a query/body parameter
1526
+ (instead of a header).
1527
+ - |-
1528
+ Parameter name used when the access token is passed as a query/body parameter
1529
+ (instead of a header).
1530
+ examples:
1531
+ - access_token
1532
+ - '`access_token`'
1533
+ - '`token`'
1534
+ - '`auth_token`'
1535
+ accessTokenPath:
1536
+ type: string
1537
+ description: |-
1538
+ JSON path to extract the access token from the token
1539
+ endpoint response body.
1540
+ x-celigo-ai-guidance:
1541
+ - |-
1542
+ ## FIELD BEHAVIOR:
1543
+ - Defines the endpoint path for access token requests in the OAuth2 flow.
1544
+ - Must be a valid relative URL path starting with a forward slash (/).
1545
+ - Used during the token exchange phase after obtaining an authorization code or other grant types.
1546
+ - Typically combined with the authorization server's base URL to form the complete token endpoint URL.
1547
+ - |-
1548
+ Specifies the relative URL path on the OAuth2 authorization server where the
1549
+ access token request should be sent.
1550
+ This path is appended to the base URL of the authorization server to form the
1551
+ full endpoint for obtaining an access token during the OAuth2 authentication
1552
+ flow.
1553
+ It is essential for enabling clients to exchange authorization grants for access
1554
+ tokens securely.
1555
+ - |-
1556
+ ## IMPORTANT NOTES:
1557
+ - This path is critical for the OAuth2 token exchange process; incorrect configuration will prevent successful authentication.
1558
+ - It should not include the full URL, only the path component.
1559
+ - Must align with the OAuth2 server's documentation to ensure interoperability.
1560
+ - Often used in conjunction with other OAuth2 properties like client ID, client secret, and authorization path.
1561
+ - |-
1562
+ ## DEPENDENCY CHAIN:
1563
+ - Depends on the base URL of the OAuth2 authorization server.
1564
+ - Used alongside authorizationPath and other OAuth2 configuration properties.
1565
+ - Integral to the OAuth2 token grant process.
1566
+ - |-
1567
+ ## EXAMPLES:
1568
+ - /oauth2/token
1569
+ - /api/v1/access_token
1570
+ - /auth/token
1571
+ - |-
1572
+ ## IMPLEMENTATION GUIDANCE:
1573
+ - Ensure the path corresponds exactly to the OAuth2 server's token endpoint specification.
1574
+ - Validate that the path is correctly formatted and accessible.
1575
+ - Avoid including query parameters or fragments in this path; it should be a clean URL path.
1576
+ - Confirm compatibility with the OAuth2 server's expected token endpoint URL structure.
1577
+ - |-
1578
+ ## TECHNICAL DETAILS:
1579
+ - Expected to be a URI path string.
1580
+ - Should begin with a forward slash (/).
1581
+ - Combined with the OAuth2 server's base URL to form the full token endpoint URI.
1582
+ - Utilized in HTTP POST requests to obtain access tokens.
1583
+ - |-
1584
+ Specifies the relative URL path on the OAuth2 authorization server where the
1585
+ access token request should be sent.
1586
+ This path is appended to the base URL of the authorization server to form the
1587
+ full endpoint for obtaining an access token during the OAuth2 authentication
1588
+ flow.
1589
+ It is essential for enabling clients to exchange authorization grants for access
1590
+ tokens securely.
1591
+ - |-
1592
+ Specifies the relative URL path on the OAuth2 authorization server where the
1593
+ access token request should be sent.
1594
+ This path is appended to the base URL of the authorization server to form the
1595
+ full endpoint for obtaining an access token during the OAuth2 authentication
1596
+ flow.
1597
+ It is essential for enabling clients to exchange authorization grants for access
1598
+ tokens securely.
1599
+ examples:
1600
+ - access_token
1601
+ - /oauth2/token
1602
+ - /api/v1/access_token
1603
+ - /auth/token
1604
+ refreshTokenPath:
1605
+ type: string
1606
+ description: |-
1607
+ JSON path to extract the refresh token from the token
1608
+ endpoint response body.
1609
+ x-celigo-ai-guidance:
1610
+ - |-
1611
+ ## IMPORTANT NOTES:
1612
+ - This path is distinct from the initial token request endpoint.
1613
+ - The refresh token flow requires that the client has previously obtained a refresh token.
1614
+ - Not all OAuth 2.0 providers support refresh tokens; verify compatibility.
1615
+ - The endpoint must support secure communication protocols (e.g., HTTPS).
1616
+ - |-
1617
+ ## EXAMPLES:
1618
+ - "/oauth2/token/refresh"
1619
+ - "https://auth.example.com/oauth2/token"
1620
+ - "/api/v1/auth/refresh-token"
1621
+ - |-
1622
+ ## DEPENDENCY CHAIN:
1623
+ - Depends on the existence of a valid refresh token issued during initial authentication.
1624
+ - Works in conjunction with the access token and client credentials.
1625
+ - Related to the OAuth 2.0 token endpoint configuration.
1626
+ - |-
1627
+ The relative or absolute URL path used to request a refresh token from the OAuth
1628
+ 2.0 authorization server.
1629
+ This endpoint is typically called when the current access token has expired or
1630
+ is about to expire,
1631
+ allowing the client to obtain a new access token without requiring the user to re-authenticate.
1632
+ The path should conform to the OAuth 2.0 specification for token refresh
1633
+ requests and support the necessary HTTP methods,
1634
+ usually POST.
1635
+ - |-
1636
+ ## TECHNICAL DETAILS:
1637
+ - Typically uses the HTTP POST method with form-encoded parameters.
1638
+ - Requires parameters such as grant_type=refresh_token and the refresh_token itself.
1639
+ - Responses include a new access token and optionally a new refresh token.
1640
+ - Must handle scopes and token expiration as per OAuth 2.0 standards.
1641
+ - |-
1642
+ ## IMPLEMENTATION GUIDANCE:
1643
+ - Ensure the path is correctly formatted as a relative or absolute URL.
1644
+ - Confirm that the authorization server supports refresh token requests at this endpoint.
1645
+ - Secure the endpoint with appropriate authentication and authorization measures.
1646
+ - Validate that the client credentials and refresh token are correctly handled during the request.
1647
+ - Handle error responses gracefully, such as invalid or expired refresh tokens.
1648
+ - |-
1649
+ ## FIELD BEHAVIOR:
1650
+ - Specifies the endpoint for refreshing OAuth 2.0 access tokens.
1651
+ - Used by the client application to maintain authenticated sessions seamlessly.
1652
+ - Invoked automatically by the client when the access token expires or is near expiration.
1653
+ - Must be accessible and correctly configured on the authorization server.
1654
+ - |-
1655
+ The relative or absolute URL path used to request a refresh token from the OAuth
1656
+ 2.0 authorization server.
1657
+ This endpoint is typically called when the current access token has expired or
1658
+ is about to expire,
1659
+ allowing the client to obtain a new access token without requiring the user to re-authenticate.
1660
+ The path should conform to the OAuth 2.0 specification for token refresh
1661
+ requests and support the necessary HTTP methods,
1662
+ usually POST.
1663
+ - |-
1664
+ The relative or absolute URL path used to request a refresh token from the OAuth
1665
+ 2.0 authorization server.
1666
+ This endpoint is typically called when the current access token has expired or
1667
+ is about to expire,
1668
+ allowing the client to obtain a new access token without requiring the user to re-authenticate.
1669
+ The path should conform to the OAuth 2.0 specification for token refresh
1670
+ requests and support the necessary HTTP methods,
1671
+ usually POST.
1672
+ examples:
1673
+ - refresh_token
1674
+ - /oauth2/token/refresh
1675
+ - https://auth.example.com/oauth2/token
1676
+ - /api/v1/auth/refresh-token
1677
+ scheme:
1678
+ type: string
1679
+ description: Authorization scheme prefix (e.g. `Bearer`, `Basic`).
1680
+ x-celigo-ai-guidance:
1681
+ - |-
1682
+ ## EXAMPLES:
1683
+ - "authorization_code" for server-side web applications.
1684
+ - "implicit" for single-page applications.
1685
+ - "password" for trusted applications with user credentials.
1686
+ - "client_credentials" for machine-to-machine authentication.
1687
+ - |-
1688
+ ## IMPLEMENTATION GUIDANCE:
1689
+ - Choose the scheme that best fits the client application type and security context.
1690
+ - Ensure the scheme aligns with the OAuth 2.0 specification and server capabilities.
1691
+ - Clearly document the chosen scheme to aid client developers in implementation.
1692
+ - |-
1693
+ ## DEPENDENCY CHAIN:
1694
+ - Depends on the OAuth 2.0 specification version supported.
1695
+ - Interacts with token endpoint and authorization endpoint configurations.
1696
+ - Influences client registration and credential management.
1697
+ - |-
1698
+ ## IMPORTANT NOTES:
1699
+ - Selecting an inappropriate scheme can lead to security vulnerabilities.
1700
+ - Some schemes may require additional parameters or configurations.
1701
+ - The scheme impacts token lifecycle and refresh mechanisms.
1702
+ - |-
1703
+ Specifies the OAuth 2.0 authorization scheme used for securing API requests.
1704
+ This field defines the method by which the client obtains and presents access
1705
+ tokens to authenticate and authorize API calls.
1706
+ Common schemes include "authorization_code", "implicit", "password",
1707
+ and "client_credentials",
1708
+ each representing a different OAuth 2.0 flow tailored to various client types
1709
+ and security requirements.
1710
+ - |-
1711
+ ## FIELD BEHAVIOR:
1712
+ - Determines the OAuth 2.0 flow applied for token acquisition.
1713
+ - Influences how clients interact with the authorization server.
1714
+ - Guides the expected parameters and endpoints involved in the authentication process.
1715
+ - |-
1716
+ ## TECHNICAL DETAILS:
1717
+ - Typically represented as a string value.
1718
+ - Must conform to recognized OAuth 2.0 flow identifiers.
1719
+ - Used by client libraries to determine authentication steps.
1720
+ - |-
1721
+ Specifies the OAuth 2.0 authorization scheme used for securing API requests.
1722
+ This field defines the method by which the client obtains and presents access
1723
+ tokens to authenticate and authorize API calls.
1724
+ Common schemes include "authorization_code", "implicit", "password",
1725
+ and "client_credentials",
1726
+ each representing a different OAuth 2.0 flow tailored to various client types
1727
+ and security requirements.
1728
+ - |-
1729
+ Specifies the OAuth 2.0 authorization scheme used for securing API requests.
1730
+ This field defines the method by which the client obtains and presents access
1731
+ tokens to authenticate and authorize API calls.
1732
+ Common schemes include "authorization_code", "implicit", "password",
1733
+ and "client_credentials",
1734
+ each representing a different OAuth 2.0 flow tailored to various client types
1735
+ and security requirements.
1736
+ examples:
1737
+ - Bearer
1738
+ - authorization_code
1739
+ - implicit
1740
+ - password
1741
+ - client_credentials
1742
+ validDomainNames:
1743
+ type: array
1744
+ items:
1745
+ type: string
1746
+ description: |-
1747
+ Domain names used to validate OAuth URLs. Provide each
1748
+ unique domain once (no scheme, no path).
1749
+ examples:
1750
+ - - domain.com
1751
+ - - domain.com
1752
+ - domain1.com
1753
+ - domain2.com
1754
+ x-celigo-ai-guidance:
1755
+ - |-
1756
+ Set this to the list of unique domain names used to validate the OAuth URLs (Authorization,
1757
+ Access Token, Revoke Token).
1758
+ In the UI, enter each unique domain name as comma-separated values;
1759
+ if the same domain is used for each URL, provide it only once.
1760
+ For multiple domains, set this to `["domain.com", "domain1.com",
1761
+ "domain2.com"]`; if all URLs share the same domain (e.g.
1762
+ `domain.com`), set this to `["domain.com"]`.
1763
+ - |-
1764
+ Example: if your URLs are:
1765
+ - `https://<AccessTokenURL>.domain.com`
1766
+ - `https://<RevokeTokenURL>.domain1.com`
1767
+ - `https://<AuthorizationURL>.domain2.com`
1768
+
1769
+ then set `validDomainNames` to: `["domain.com", "domain1.com", "domain2.com"]`.
1770
+ - |-
1771
+ ## TECHNICAL DETAILS:
1772
+ - Stored as an array of strings.
1773
+ - |-
1774
+ ## FIELD BEHAVIOR:
1775
+ - Array of domain names (no scheme, no path).
1776
+ - Used to validate the OAuth URL domains (authorization/token/revoke).
1777
+ - Provide each unique domain once.
1778
+ - |-
1779
+ ## DEPENDENCY CHAIN:
1780
+ - Used alongside `oauth2.auth.uri`, `oauth2.token.uri`, and `oauth2.revoke.uri`.
1781
+ - |-
1782
+ ## IMPLEMENTATION GUIDANCE:
1783
+ - Extract the domain portion from each OAuth URL and include it here.
1784
+ - Do not include `https://` or any URL path/query—only the domain.
1785
+ - Keep this list in sync if any OAuth URLs change.
1786
+ - |-
1787
+ ## EXAMPLES:
1788
+ - ["domain.com"]
1789
+ - ["domain.com", "domain1.com", "domain2.com"]
1790
+ - |-
1791
+ ## IMPORTANT NOTES:
1792
+ - This is about **domains** for OAuth URLs, not full URLs.
1793
+ - |-
1794
+ Example: if your URLs are:
1795
+ - `https://<AccessTokenURL>.domain.com`
1796
+ - `https://<RevokeTokenURL>.domain1.com`
1797
+ - `https://<AuthorizationURL>.domain2.com`
1798
+ - |-
1799
+ Set this to the list of unique domain names used to validate the OAuth URLs (Authorization,
1800
+ Access Token, Revoke Token).
1801
+ In the UI, enter each unique domain name as comma-separated values;
1802
+ if the same domain is used for each URL, provide it only once.
1803
+ For multiple domains, set this to `["domain.com", "domain1.com",
1804
+ "domain2.com"]`; if all URLs share the same domain (e.g.
1805
+ `domain.com`), set this to `["domain.com"]`.
1806
+ - |-
1807
+ Set this to the list of unique domain names used to validate the OAuth URLs (Authorization,
1808
+ Access Token, Revoke Token).
1809
+ In the UI, enter each unique domain name as comma-separated values;
1810
+ if the same domain is used for each URL, provide it only once.
1811
+ For multiple domains, set this to `["domain.com", "domain1.com",
1812
+ "domain2.com"]`; if all URLs share the same domain (e.g.
1813
+ `domain.com`), set this to `["domain.com"]`.
1814
+ failPath:
1815
+ type: string
1816
+ description: |-
1817
+ Response body path to check for auth errors. Set only if
1818
+ the API uses a field in the response body (not just HTTP
1819
+ status) to indicate auth failures.
1820
+ x-celigo-ai-guidance:
1821
+ - |-
1822
+ This field only needs to be set if the API returns a field in the HTTP response
1823
+ body to indicate auth errors.
1824
+ For example,
1825
+ if an API returns the field `errorMessage` with the value `Auth failed`,
1826
+ then set this field to `errorMessage`.
1827
+ - |-
1828
+ ## EXAMPLES:
1829
+ - `errorMessage`
1830
+ - `error`
1831
+ - `errors.0.message`
1832
+ - |-
1833
+ This field only needs to be set if the API returns a field in the HTTP response
1834
+ body to indicate auth errors.
1835
+ For example,
1836
+ if an API returns the field `errorMessage` with the value `Auth failed`,
1837
+ then set this field to `errorMessage`.
1838
+ - |-
1839
+ This field only needs to be set if the API returns a field in the HTTP response
1840
+ body to indicate auth errors.
1841
+ For example,
1842
+ if an API returns the field `errorMessage` with the value `Auth failed`,
1843
+ then set this field to `errorMessage`.
1844
+ examples:
1845
+ - error.message
1846
+ - '`errorMessage`'
1847
+ - '`error`'
1848
+ - '`errors.0.message`'
1849
+ failValues:
1850
+ type: array
1851
+ items:
1852
+ type: string
1853
+ description: Values at `failPath` that indicate an auth failure.
1854
+ examples:
1855
+ - - access_denied
1856
+ - invalid_grant
1857
+ - unauthorized_client
1858
+ - - error
1859
+ - invalid_request
1860
+ x-celigo-ai-guidance:
1861
+ - |-
1862
+ ## TECHNICAL DETAILS:
1863
+ - Array of strings.
1864
+ - Values correspond to provider-specific error indicators in the response body.
1865
+ - Used programmatically to trigger failure callbacks or error messages.
1866
+ - May be integrated with logging and monitoring systems for authentication failures.
1867
+ - |-
1868
+ ## IMPORTANT NOTES:
1869
+ - Failure values are critical for robust error handling in OAuth2 flows.
1870
+ - Missing or incorrect failValues may result in unhandled authentication errors.
1871
+ - Should be aligned with the OAuth2 specification and provider documentation.
1872
+ - Case sensitivity may matter depending on the OAuth2 provider's response.
1873
+ - |-
1874
+ ## FIELD BEHAVIOR:
1875
+ - Array of one or more strings.
1876
+ - If any value matches the configured response body field, the response is treated as an auth failure.
1877
+ - |-
1878
+ ## IMPLEMENTATION GUIDANCE:
1879
+ - Use exact values returned by the provider in the response body.
1880
+ - Provide each distinct value once (case sensitivity depends on the provider response).
1881
+ - |-
1882
+ ## EXAMPLES:
1883
+ - ["access_denied", "invalid_grant", "unauthorized_client"]
1884
+ - ["error", "invalid_request"]
1885
+ - |-
1886
+ Use this field to limit the exact values in the configured HTTP response body
1887
+ field that should be treated as authentication errors.
1888
+ - |-
1889
+ UI behavior: to provide multiple values, enter a comma-separated list;
1890
+ in the API/config, represent this as an array of strings.
1891
+ - |-
1892
+ ## DEPENDENCY CHAIN:
1893
+ - Depends on the OAuth2 provider's error response definitions.
1894
+ - Works in conjunction with success and error handling mechanisms in the authentication flow.
1895
+ - Influences the overall OAuth2 authentication state management.
1896
+ - |-
1897
+ Use this field to limit the exact values in the configured HTTP response body
1898
+ field that should be treated as authentication errors.
1899
+ - |-
1900
+ UI behavior: to provide multiple values, enter a comma-separated list;
1901
+ in the API/config, represent this as an array of strings.
1902
+ - |-
1903
+ Use this field to limit the exact values in the configured HTTP response body
1904
+ field that should be treated as authentication errors.
1905
+ - |-
1906
+ UI behavior: to provide multiple values, enter a comma-separated list;
1907
+ in the API/config, represent this as an array of strings.
1908
+ failStatusCode:
1909
+ type: number
1910
+ description: |-
1911
+ HTTP status code indicating an auth error, if the provider
1912
+ uses something other than 401.
1913
+ x-celigo-ai-guidance:
1914
+ - |-
1915
+ ## IMPLEMENTATION GUIDANCE:
1916
+ - Leave unset if auth errors are returned as `401` (default behavior).
1917
+ - Set this if auth failures are returned using another status code (e.g., `400`).
1918
+ - |-
1919
+ Set this field only if the system you are authenticating against uses an HTTP
1920
+ status code other than 401 to indicate an OAuth2 authentication error;
1921
+ for example,
1922
+ an API may return a generic `400` status code and use a field in the HTTP
1923
+ response body to indicate authentication errors.
1924
+ - |-
1925
+ ## IMPORTANT NOTES:
1926
+ - Setting an inappropriate status code may lead to client confusion or security risks.
1927
+ - Some clients or intermediaries may behave differently depending on the status code.
1928
+ - The status code should be accompanied by a descriptive error message in the response body.
1929
+ - |-
1930
+ ## FIELD BEHAVIOR:
1931
+ - Determines the HTTP response status code sent upon OAuth2 failure.
1932
+ - Influences client-side error handling and user feedback.
1933
+ - Overrides default failure status codes if explicitly set.
1934
+ - |-
1935
+ ## DEPENDENCY CHAIN:
1936
+ - Depends on OAuth2 authentication and authorization failure events.
1937
+ - Works in conjunction with error response payloads and headers.
1938
+ - May interact with logging and monitoring systems for failure tracking.
1939
+ - |-
1940
+ ## TECHNICAL DETAILS:
1941
+ - Must be an integer within the range of valid HTTP status codes (100–599).
1942
+ - Typically used in HTTP response status line.
1943
+ - Should be consistent with OAuth2 error response standards defined in RFC 6749.
1944
+ - |-
1945
+ ## EXAMPLES:
1946
+ - 401
1947
+ - 400
1948
+ - |-
1949
+ Set this field only if the system you are authenticating against uses an HTTP
1950
+ status code other than 401 to indicate an OAuth2 authentication error;
1951
+ for example,
1952
+ an API may return a generic `400` status code and use a field in the HTTP
1953
+ response body to indicate authentication errors.
1954
+ - |-
1955
+ Set this field only if the system you are authenticating against uses an HTTP
1956
+ status code other than 401 to indicate an OAuth2 authentication error;
1957
+ for example,
1958
+ an API may return a generic `400` status code and use a field in the HTTP
1959
+ response body to indicate authentication errors.
1960
+ examples:
1961
+ - 403
1962
+ - 401
1963
+ - 400
1964
+ useNewAuthFailSchema:
1965
+ type: boolean
1966
+ readOnly: true
1967
+ description: Server-managed flag. Always `true` in current responses.
1968
+ failures:
1969
+ type: array
1970
+ readOnly: true
1971
+ description: |-
1972
+ Server-computed auth-failure detection rules derived from
1973
+ `failPath`, `failValues`, and `failStatusCode`. Present
1974
+ only when those fields are configured.
1975
+ items:
1976
+ type: object
1977
+ properties:
1978
+ statusCode:
1979
+ type: number
1980
+ description: HTTP status code triggering auth-failure detection.
1981
+ path:
1982
+ type: string
1983
+ description: Response body path checked for failure values.
1984
+ values:
1985
+ type: array
1986
+ items:
1987
+ type: string
1988
+ description: Values at `path` that indicate auth failure.
1989
+ pkceCodeChallengeMethod:
1990
+ type:
1991
+ - string
1992
+ - 'null'
1993
+ enum:
1994
+ - plain
1995
+ - s256
1996
+ x-enumDescriptions:
1997
+ plain: Code verifier sent as-is (use only when required by the provider).
1998
+ s256: SHA-256 hash of code verifier (recommended).
1999
+ description: PKCE code challenge method (RFC 7636).
2000
+ x-celigo-ai-guidance:
2001
+ - PKCE code challenge method used for the OAuth 2.0 authorization code flow (RFC 7636).
2002
+ - |-
2003
+ ## EXAMPLES:
2004
+ - `s256`
2005
+ - `plain`
2006
+ - |-
2007
+ ## FIELD BEHAVIOR:
2008
+ - `s256` is recommended.
2009
+ - `plain` should only be used if required by the provider.
2010
+ useIClientFields:
2011
+ type: boolean
2012
+ description: |-
2013
+ Use legacy iClient-specific fields instead of standard
2014
+ OAuth 2.0 fields. For backward compatibility only.
2015
+ x-celigo-ai-guidance:
2016
+ - |-
2017
+ ## TECHNICAL DETAILS:
2018
+ - Overrides default OAuth2 client ID, secret, and token endpoint parameters with iClient equivalents.
2019
+ - May alter request payload structure during OAuth2 token exchanges.
2020
+ - Typically used in environments where legacy iClient authentication flows are required.
2021
+ - |-
2022
+ ## DEPENDENCY CHAIN:
2023
+ - Depends on the presence of iClient-specific OAuth2 fields in the configuration.
2024
+ - Affects OAuth2 token request and refresh processes.
2025
+ - |-
2026
+ ## EXAMPLES:
2027
+ - true: Use iClient-specific fields for OAuth2 authentication.
2028
+ - false: Use standard OAuth2 fields for authentication.
2029
+ - |-
2030
+ ## IMPLEMENTATION GUIDANCE:
2031
+ - Enable this flag only if integrating with legacy systems requiring iClient fields.
2032
+ - Ensure that the corresponding iClient fields are properly configured when this is enabled.
2033
+ - Validate compatibility with the OAuth2 provider before enabling this option.
2034
+ - |-
2035
+ ## IMPORTANT NOTES:
2036
+ - Enabling this may affect interoperability with modern OAuth2 providers.
2037
+ - This setting is primarily for backward compatibility and may be deprecated in future releases.
2038
+ - Misconfiguration can lead to authentication failures.
2039
+ - |-
2040
+ ## FIELD BEHAVIOR:
2041
+ - When set to true, the system uses iClient-specific OAuth2 fields for authentication.
2042
+ - When set to false or omitted, the system defaults to standard OAuth2 fields.
2043
+ - Influences how client credentials and tokens are processed during OAuth2 flows.
2044
+ - |-
2045
+ Determines whether to utilize the legacy iClient-specific fields in the OAuth2
2046
+ configuration instead of the standard OAuth2 fields.
2047
+ This option is typically used for backward compatibility with systems or
2048
+ integrations that rely on the older iClient field structure.
2049
+ - |-
2050
+ Determines whether to utilize the legacy iClient-specific fields in the OAuth2
2051
+ configuration instead of the standard OAuth2 fields.
2052
+ This option is typically used for backward compatibility with systems or
2053
+ integrations that rely on the older iClient field structure.
2054
+ - |-
2055
+ Determines whether to utilize the legacy iClient-specific fields in the OAuth2
2056
+ configuration instead of the standard OAuth2 fields.
2057
+ This option is typically used for backward compatibility with systems or
2058
+ integrations that rely on the older iClient field structure.
2059
+ username:
2060
+ type: string
2061
+ description: |-
2062
+ Username for the password grant type.
2063
+
2064
+ Required when grantType is password.
2065
+ x-celigo-ai-guidance:
2066
+ - |-
2067
+ ## IMPORTANT NOTES:
2068
+ - The username must correspond to a valid user account in the OAuth2 provider.
2069
+ - Incorrect usernames will result in authentication failure.
2070
+ - Should be handled securely to prevent exposure of sensitive user information.
2071
+ - |-
2072
+ The username used to authenticate the user within the OAuth2 authorization framework.
2073
+ This value typically represents the unique identifier assigned to the user by
2074
+ the authentication provider or system.
2075
+ It is required when performing resource owner password credentials grant or
2076
+ other flows that involve direct user authentication.
2077
+ - |-
2078
+ ## EXAMPLES:
2079
+ - "johndoe"
2080
+ - "user@example.com"
2081
+ - "alice123"
2082
+ - |-
2083
+ ## TECHNICAL DETAILS:
2084
+ - Data type: string
2085
+ - Maximum length may vary depending on the OAuth2 provider.
2086
+ - Should be URL-encoded if included in query parameters or request bodies.
2087
+ - |-
2088
+ ## IMPLEMENTATION GUIDANCE:
2089
+ - Ensure the username is securely transmitted over HTTPS to protect user credentials.
2090
+ - Validate the format and existence of the username before processing authentication.
2091
+ - Avoid logging the username in plain text to maintain user privacy.
2092
+ - Support international characters if the authentication system allows.
2093
+ - |-
2094
+ ## FIELD BEHAVIOR:
2095
+ - Must be a non-empty string representing the user's login identifier.
2096
+ - Used in conjunction with the password to obtain an access token.
2097
+ - Should be case-sensitive depending on the authentication system.
2098
+ - Validated against the authentication provider's user database.
2099
+ - |-
2100
+ ## DEPENDENCY CHAIN:
2101
+ - Typically used alongside the `password` property in OAuth2 password grant flows.
2102
+ - Dependent on the OAuth2 server's user management and authentication mechanisms.
2103
+ - |-
2104
+ The username used to authenticate the user within the OAuth2 authorization framework.
2105
+ This value typically represents the unique identifier assigned to the user by
2106
+ the authentication provider or system.
2107
+ It is required when performing resource owner password credentials grant or
2108
+ other flows that involve direct user authentication.
2109
+ - |-
2110
+ The username used to authenticate the user within the OAuth2 authorization framework.
2111
+ This value typically represents the unique identifier assigned to the user by
2112
+ the authentication provider or system.
2113
+ It is required when performing resource owner password credentials grant or
2114
+ other flows that involve direct user authentication.
2115
+ examples:
2116
+ - service-account@example.com
2117
+ - johndoe
2118
+ - user@example.com
2119
+ - alice123
2120
+ password:
2121
+ type: string
2122
+ description: |-
2123
+ Password for the password grant type. Returned masked
2124
+ as `"******"`. Re-send that value on update to keep it; it is not preserved if omitted.
2125
+ x-celigo-ai-guidance:
2126
+ - |-
2127
+ Use `password` for the OAuth2 password value used with the password grant;
2128
+ this is the value provided to configure or update the iClient,
2129
+ is stored encrypted at rest internally in integrator.io (for example as
2130
+ `password_crypt`/`password_salt` fields in the underlying model),
2131
+ and API responses typically return a masked value (e.g.,
2132
+ `"******"`) when a password is already set.
2133
+ - |-
2134
+ ## IMPLEMENTATION GUIDANCE:
2135
+ - Provide the plain password value here to set/update it.
2136
+ - To keep the existing password unchanged during an update, omit this field (or keep `"******"` as-is if returned).
2137
+ - |-
2138
+ Use `password` for the OAuth2 password value used with the password grant;
2139
+ this is the value provided to configure or update the iClient,
2140
+ is stored encrypted at rest internally in integrator.io (for example as
2141
+ `password_crypt`/`password_salt` fields in the underlying model),
2142
+ and API responses typically return a masked value (e.g.,
2143
+ `"******"`) when a password is already set.
2144
+ - |-
2145
+ Use `password` for the OAuth2 password value used with the password grant;
2146
+ this is the value provided to configure or update the iClient,
2147
+ is stored encrypted at rest internally in integrator.io (for example as
2148
+ `password_crypt`/`password_salt` fields in the underlying model),
2149
+ and API responses typically return a masked value (e.g.,
2150
+ `"******"`) when a password is already set.
2151
+ auth:
2152
+ type: object
2153
+ description: Authorization endpoint configuration.
2154
+ x-celigo-ai-guidance:
2155
+ - |-
2156
+ ## EXAMPLES:
2157
+ - Client credentials flow with client ID and client secret.
2158
+ - Authorization code flow with redirect URI and scopes.
2159
+ - Password grant with username and password fields.
2160
+ - Refresh token usage for renewing access tokens.
2161
+ - |-
2162
+ ## IMPLEMENTATION GUIDANCE:
2163
+ - Ensure all required fields for the chosen OAuth 2.0 flow are included.
2164
+ - Securely store sensitive information like client secrets.
2165
+ - Validate the format and correctness of URLs and credentials.
2166
+ - Support common grant types such as authorization code, client credentials, and password.
2167
+ - Handle token expiration and refresh logic as needed.
2168
+ - |-
2169
+ ## DEPENDENCY CHAIN:
2170
+ - Depends on the OAuth 2.0 grant type specified elsewhere in the configuration.
2171
+ - Interacts with token endpoint URLs and scope definitions.
2172
+ - May be linked to client application registration details.
2173
+ - |-
2174
+ ## TECHNICAL DETAILS:
2175
+ - Typically includes fields such as client_id, client_secret, token_url, scopes, grant_type.
2176
+ - May require encoding or encryption of credentials during transmission.
2177
+ - Supports standard OAuth 2.0 token request and response formats.
2178
+ - Should handle HTTP status codes and error responses from the authorization server.
2179
+ - |-
2180
+ ## FIELD BEHAVIOR:
2181
+ - Determines the authentication flow used in the OAuth 2.0 process.
2182
+ - Controls how credentials are presented to the authorization server.
2183
+ - Influences token acquisition and refresh mechanisms.
2184
+ - May include multiple authentication parameters depending on the grant type.
2185
+ - |-
2186
+ ## IMPORTANT NOTES:
2187
+ - Sensitive data must be protected and not exposed in logs or error messages.
2188
+ - The authentication method must comply with OAuth 2.0 standards.
2189
+ - Misconfiguration can lead to failed authentication or security vulnerabilities.
2190
+ - Different OAuth 2.0 providers may require specific parameters or formats.
2191
+ - |-
2192
+ Specifies the authentication method and credentials required for OAuth 2.0 authorization.
2193
+ This property defines how the client should authenticate with the authorization
2194
+ server to obtain an access token.
2195
+ It typically includes details such as client ID, client secret, token endpoint,
2196
+ scopes, and grant type.
2197
+ - |-
2198
+ Specifies the authentication method and credentials required for OAuth 2.0 authorization.
2199
+ This property defines how the client should authenticate with the authorization
2200
+ server to obtain an access token.
2201
+ It typically includes details such as client ID, client secret, token endpoint,
2202
+ scopes, and grant type.
2203
+ - |-
2204
+ Specifies the authentication method and credentials required for OAuth 2.0 authorization.
2205
+ This property defines how the client should authenticate with the authorization
2206
+ server to obtain an access token.
2207
+ It typically includes details such as client ID, client secret, token endpoint,
2208
+ scopes, and grant type.
2209
+ properties:
2210
+ uri:
2211
+ type: string
2212
+ description: Authorization endpoint URI.
2213
+ x-celigo-ai-guidance:
2214
+ - |-
2215
+ The URI endpoint where the OAuth 2.0 authorization server accepts authorization requests.
2216
+ This URI is used by clients to initiate the authorization flow,
2217
+ typically by redirecting the resource owner's user-agent to this address.
2218
+ It must be a valid HTTPS URL to ensure secure transmission of sensitive
2219
+ information such as authorization codes or tokens.
2220
+ - |-
2221
+ ## IMPORTANT NOTES:
2222
+ - The URI must be registered with the OAuth 2.0 provider and match the client configuration.
2223
+ - Using HTTP instead of HTTPS is not recommended due to security risks.
2224
+ - The URI should be stable and not change frequently to avoid client misconfigurations.
2225
+ - This endpoint is distinct from the token endpoint used to exchange authorization codes for tokens.
2226
+ - |-
2227
+ ## EXAMPLES:
2228
+ - https://authorization-server.com/oauth2/authorize
2229
+ - https://accounts.example.com/auth
2230
+ - https://login.provider.com/oauth2/auth
2231
+ - |-
2232
+ ## FIELD BEHAVIOR:
2233
+ - Serves as the entry point for the OAuth 2.0 authorization process.
2234
+ - Used by clients to request authorization from the resource owner.
2235
+ - Typically involves redirection of the user's browser to this URI.
2236
+ - Must support standard OAuth 2.0 authorization request parameters.
2237
+ - |-
2238
+ ## DEPENDENCY CHAIN:
2239
+ - Dependent on the OAuth 2.0 client configuration specifying this URI.
2240
+ - Used in conjunction with client_id, redirect_uri, response_type, and scope parameters.
2241
+ - Works alongside the token endpoint URI for completing the OAuth flow.
2242
+ - |-
2243
+ ## IMPLEMENTATION GUIDANCE:
2244
+ - Ensure the URI is an HTTPS endpoint to maintain security.
2245
+ - The endpoint should conform to OAuth 2.0 specifications for authorization endpoints.
2246
+ - Validate that the URI is reachable and correctly configured to handle authorization requests.
2247
+ - Include necessary query parameters as per OAuth 2.0 standards during requests.
2248
+ - |-
2249
+ ## TECHNICAL DETAILS:
2250
+ - Must be a valid, well-formed URL.
2251
+ - Should support GET requests with query parameters for authorization requests.
2252
+ - Typically responds with redirects (HTTP 302) to the redirect_uri with authorization codes or tokens.
2253
+ - Should implement security best practices such as TLS 1.2+ and proper CORS policies.
2254
+ - |-
2255
+ The URI endpoint where the OAuth 2.0 authorization server accepts authorization requests.
2256
+ This URI is used by clients to initiate the authorization flow,
2257
+ typically by redirecting the resource owner's user-agent to this address.
2258
+ It must be a valid HTTPS URL to ensure secure transmission of sensitive
2259
+ information such as authorization codes or tokens.
2260
+ - |-
2261
+ The URI endpoint where the OAuth 2.0 authorization server accepts authorization requests.
2262
+ This URI is used by clients to initiate the authorization flow,
2263
+ typically by redirecting the resource owner's user-agent to this address.
2264
+ It must be a valid HTTPS URL to ensure secure transmission of sensitive
2265
+ information such as authorization codes or tokens.
2266
+ examples:
2267
+ - https://accounts.google.com/o/oauth2/auth
2268
+ - https://authorization-server.com/oauth2/authorize
2269
+ - https://accounts.example.com/auth
2270
+ - https://login.provider.com/oauth2/auth
2271
+ queryParameters:
2272
+ type: object
2273
+ description: |-
2274
+ Additional query parameters appended to the authorization
2275
+ URL. Stored encrypted (masked as `"****"` in responses).
2276
+ token:
2277
+ type: object
2278
+ description: Token endpoint configuration.
2279
+ x-celigo-ai-guidance:
2280
+ - |-
2281
+ ## TECHNICAL DETAILS:
2282
+ - Usually a string encoded in JWT or opaque format.
2283
+ - Contains claims or metadata about the user and permissions.
2284
+ - Includes an expiration timestamp (exp claim in JWT).
2285
+ - May include scopes defining access rights.
2286
+ - Must conform to OAuth 2.0 and OpenID Connect standards where applicable.
2287
+ - |-
2288
+ ## FIELD BEHAVIOR:
2289
+ - Represents the credential used to access protected resources.
2290
+ - Must be included in API requests to authenticate the client.
2291
+ - Has an expiration time after which it becomes invalid.
2292
+ - May be a JWT or opaque string depending on the authorization server.
2293
+ - Should be securely stored and transmitted only over HTTPS.
2294
+ - |-
2295
+ ## EXAMPLES:
2296
+ - "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
2297
+ - "2YotnFZFEjr1zCsicMWpAA"
2298
+ - "mF_9.B5f-4.1JqM"
2299
+ - |-
2300
+ ## IMPLEMENTATION GUIDANCE:
2301
+ - Ensure the token is included in the Authorization header as "Bearer {token}".
2302
+ - Validate the token's expiration and scope before use.
2303
+ - Refresh the token using a refresh token if supported and expired.
2304
+ - Handle token revocation and errors gracefully.
2305
+ - Avoid logging or exposing the token in client-side code or URLs.
2306
+ - |-
2307
+ ## IMPORTANT NOTES:
2308
+ - The token must be kept confidential to prevent unauthorized access.
2309
+ - Tokens are typically short-lived to enhance security.
2310
+ - Different APIs may require tokens with specific scopes or claims.
2311
+ - Always use secure transport (HTTPS) when transmitting tokens.
2312
+ - |-
2313
+ ## DEPENDENCY CHAIN:
2314
+ - Obtained after successful OAuth 2.0 authorization or token exchange.
2315
+ - May depend on client credentials, authorization code, or refresh token.
2316
+ - Used in conjunction with the Authorization header in API requests.
2317
+ - |-
2318
+ The access token issued by the OAuth 2.0 authorization server,
2319
+ used to authenticate and authorize API requests on behalf of the user or client.
2320
+ This token is typically a string representing a bearer token that must be
2321
+ included in the Authorization header of HTTP requests to access protected
2322
+ resources.
2323
+ It has a limited lifetime and scope,
2324
+ defining the permissions granted to the client.
2325
+ - |-
2326
+ The access token issued by the OAuth 2.0 authorization server,
2327
+ used to authenticate and authorize API requests on behalf of the user or client.
2328
+ This token is typically a string representing a bearer token that must be
2329
+ included in the Authorization header of HTTP requests to access protected
2330
+ resources.
2331
+ It has a limited lifetime and scope,
2332
+ defining the permissions granted to the client.
2333
+ - |-
2334
+ The access token issued by the OAuth 2.0 authorization server,
2335
+ used to authenticate and authorize API requests on behalf of the user or client.
2336
+ This token is typically a string representing a bearer token that must be
2337
+ included in the Authorization header of HTTP requests to access protected
2338
+ resources.
2339
+ It has a limited lifetime and scope,
2340
+ defining the permissions granted to the client.
2341
+ properties:
2342
+ method:
2343
+ type: string
2344
+ enum:
2345
+ - GET
2346
+ - POST
2347
+ x-enumDescriptions:
2348
+ GET: Token request sent as query parameters in a GET request; may expose sensitive data in URLs and logs
2349
+ POST: Token request sent as form data in a POST request; most common and recommended
2350
+ description: HTTP method for the token request.
2351
+ x-celigo-ai-guidance:
2352
+ - HTTP method used to call the OAuth 2.0 token endpoint.
2353
+ uri:
2354
+ type: string
2355
+ description: Token endpoint URI.
2356
+ x-celigo-ai-guidance:
2357
+ - |-
2358
+ ## IMPLEMENTATION GUIDANCE:
2359
+ - Ensure the URI is a fully qualified HTTPS URL to maintain security.
2360
+ - Confirm the endpoint supports the OAuth 2.0 token exchange specification.
2361
+ - Validate the URI format before use to prevent runtime errors.
2362
+ - Document any additional headers or parameters required by the token endpoint.
2363
+ - |-
2364
+ ## FIELD BEHAVIOR:
2365
+ - Defines the exact URL to which token requests are made during the OAuth 2.0 flow.
2366
+ - Used by clients to exchange authorization grants or refresh tokens for access tokens.
2367
+ - Must support the OAuth 2.0 token request parameters and response formats.
2368
+ - Typically accessed via HTTP POST requests.
2369
+ - |-
2370
+ The URI (Uniform Resource Identifier) specifying the endpoint where the OAuth
2371
+ 2.0 token request is sent to obtain an access token.
2372
+ This endpoint is responsible for authenticating the client and issuing tokens
2373
+ according to the OAuth 2.0 protocol.
2374
+ It must be a valid HTTPS URL to ensure secure transmission of sensitive credentials and tokens.
2375
+ - |-
2376
+ ## TECHNICAL DETAILS:
2377
+ - Must conform to URI syntax as per RFC 3986.
2378
+ - Typically accessed using HTTP POST with content type application/x-www-form-urlencoded.
2379
+ - Responses are usually JSON objects containing access tokens and metadata.
2380
+ - May support additional OAuth 2.0 extensions like PKCE or client authentication methods.
2381
+ - |-
2382
+ ## DEPENDENCY CHAIN:
2383
+ - Dependent on the OAuth 2.0 authorization server configuration.
2384
+ - Used in conjunction with client credentials and grant types.
2385
+ - Related to other OAuth 2.0 endpoints such as authorization URI and revocation URI.
2386
+ - |-
2387
+ ## IMPORTANT NOTES:
2388
+ - The URI must be reachable and responsive to token requests.
2389
+ - Using HTTP instead of HTTPS is discouraged due to security risks.
2390
+ - The token endpoint may require client authentication via headers or request body.
2391
+ - Changes to this URI can disrupt the OAuth 2.0 authentication flow.
2392
+ - |-
2393
+ ## EXAMPLES:
2394
+ - https://auth.example.com/oauth2/token
2395
+ - https://login.provider.com/oauth2/v1/token
2396
+ - https://api.service.com/oauth/token
2397
+ - |-
2398
+ The URI (Uniform Resource Identifier) specifying the endpoint where the OAuth
2399
+ 2.0 token request is sent to obtain an access token.
2400
+ This endpoint is responsible for authenticating the client and issuing tokens
2401
+ according to the OAuth 2.0 protocol.
2402
+ It must be a valid HTTPS URL to ensure secure transmission of sensitive credentials and tokens.
2403
+ - |-
2404
+ The URI (Uniform Resource Identifier) specifying the endpoint where the OAuth
2405
+ 2.0 token request is sent to obtain an access token.
2406
+ This endpoint is responsible for authenticating the client and issuing tokens
2407
+ according to the OAuth 2.0 protocol.
2408
+ It must be a valid HTTPS URL to ensure secure transmission of sensitive credentials and tokens.
2409
+ examples:
2410
+ - https://accounts.google.com/o/oauth2/token
2411
+ - https://auth.example.com/oauth2/token
2412
+ - https://login.provider.com/oauth2/v1/token
2413
+ - https://api.service.com/oauth/token
2414
+ body:
2415
+ type: string
2416
+ description: |-
2417
+ Custom request body template for the token request.
2418
+ Supports Handlebars expressions.
2419
+ x-celigo-ai-guidance:
2420
+ - |-
2421
+ ## DEPENDENCY CHAIN:
2422
+ - Depends on the OAuth 2.0 grant type selected.
2423
+ - Relies on correct client credentials and authorization codes obtained from prior steps.
2424
+ - Works in conjunction with HTTP headers like Content-Type and Authorization.
2425
+ - |-
2426
+ ## TECHNICAL DETAILS:
2427
+ - Typically sent as application/x-www-form-urlencoded or application/json.
2428
+ - Must be included in the POST request to the token endpoint URL.
2429
+ - Parameters are case-sensitive and must match the OAuth 2.0 specification.
2430
+ - The server response depends on the correctness and completeness of the body content.
2431
+ - |-
2432
+ ## FIELD BEHAVIOR:
2433
+ - Contains the data sent in the HTTP request body during the token request.
2434
+ - Must include all required parameters based on the OAuth 2.0 grant type being used.
2435
+ - Often formatted as application/x-www-form-urlencoded or JSON, depending on the API requirements.
2436
+ - Is transmitted securely over HTTPS to protect sensitive information.
2437
+ - |-
2438
+ ## EXAMPLES:
2439
+ - grant_type=authorization_code&code=AUTH_CODE&redirect_uri=https%3A%2F%2Fclient.example.com%2Fcallback&client_id=CLIENT_ID&client_secret=CLIENT_SECRET
2440
+ - { "grant_type": "refresh_token", "refresh_token": "REFRESH_TOKEN", "client_id": "CLIENT_ID" }
2441
+ - |-
2442
+ The body property represents the payload content sent in the HTTP request when
2443
+ obtaining an OAuth 2.0 token.
2444
+ It typically includes key-value pairs such as grant type, client credentials,
2445
+ authorization code, refresh token, and scope,
2446
+ formatted according to the OAuth 2.0 specification.
2447
+ This property is essential for conveying the necessary parameters to the token
2448
+ endpoint to successfully authenticate and receive an access token.
2449
+ - |-
2450
+ ## IMPORTANT NOTES:
2451
+ - The exact parameters required in the body depend on the OAuth 2.0 flow implemented (authorization code, client credentials, password, refresh token).
2452
+ - Sensitive information such as client_secret should be handled securely and never exposed in logs or client-side code.
2453
+ - The body must conform to the OAuth 2.0 specification and the authorization server's expectations.
2454
+ - |-
2455
+ ## IMPLEMENTATION GUIDANCE:
2456
+ - Ensure the body includes all mandatory fields such as grant_type, client_id, client_secret, code, redirect_uri, or refresh_token as applicable.
2457
+ - Use the correct content type header matching the body format.
2458
+ - Encode parameters properly to comply with URL encoding standards if using form-urlencoded format.
2459
+ - Validate the body content before sending to avoid malformed requests.
2460
+ - |-
2461
+ The body property represents the payload content sent in the HTTP request when
2462
+ obtaining an OAuth 2.0 token.
2463
+ It typically includes key-value pairs such as grant type, client credentials,
2464
+ authorization code, refresh token, and scope,
2465
+ formatted according to the OAuth 2.0 specification.
2466
+ This property is essential for conveying the necessary parameters to the token
2467
+ endpoint to successfully authenticate and receive an access token.
2468
+ - |-
2469
+ The body property represents the payload content sent in the HTTP request when
2470
+ obtaining an OAuth 2.0 token.
2471
+ It typically includes key-value pairs such as grant type, client credentials,
2472
+ authorization code, refresh token, and scope,
2473
+ formatted according to the OAuth 2.0 specification.
2474
+ This property is essential for conveying the necessary parameters to the token
2475
+ endpoint to successfully authenticate and receive an access token.
2476
+ examples:
2477
+ - grant_type=client_credentials&client_id={{{iClient.oauth2.clientId}}}
2478
+ - grant_type=authorization_code&code=AUTH_CODE&redirect_uri=https%3A%2F%2Fclient.example.com%2Fcallback&client_id=CLIENT_ID&client_secret=CLIENT_SECRET
2479
+ headers:
2480
+ description: |-
2481
+ Custom HTTP headers for the token request. Can be an
2482
+ array of `{name, value}` objects or a string.
2483
+ x-celigo-ai-guidance:
2484
+ - |-
2485
+ A collection of HTTP headers to include in the token request when obtaining an
2486
+ OAuth 2.0 access token.
2487
+ These headers allow customization of the request, such as setting content types,
2488
+ authorization credentials, or custom metadata required by the token endpoint.
2489
+ The headers should be specified as key-value pairs where the key is the header
2490
+ name and the value is the header content.
2491
+ - |-
2492
+ ## DEPENDENCY CHAIN:
2493
+ - Used in conjunction with oauth2.token.url and oauth2.token.body parameters.
2494
+ - May depend on client credentials or other authentication parameters.
2495
+ - Influences the HTTP request sent to the OAuth token endpoint.
2496
+ - |-
2497
+ ## FIELD BEHAVIOR:
2498
+ - Overrides or supplements default headers sent in the token request.
2499
+ - Supports multiple headers to be included simultaneously.
2500
+ - Headers are sent exactly as specified without modification.
2501
+ - Used primarily during the OAuth 2.0 token exchange process.
2502
+ - |-
2503
+ ## IMPLEMENTATION GUIDANCE:
2504
+ - Ensure header names are correctly capitalized as per HTTP standards.
2505
+ - Avoid including sensitive information unless required and secure.
2506
+ - Validate header values to conform to expected formats (e.g., content-type).
2507
+ - Use this field to add custom headers required by specific OAuth providers.
2508
+ - |-
2509
+ ## IMPORTANT NOTES:
2510
+ - Headers specified here apply only to the token request, not to other OAuth flows.
2511
+ - Conflicts with default headers may cause token request failures.
2512
+ - Sensitive headers should be handled securely to prevent leaks.
2513
+ - Some OAuth providers may require specific headers for successful authentication.
2514
+ - |-
2515
+ ## TECHNICAL DETAILS:
2516
+ - Represented as a map/dictionary of string keys and string values.
2517
+ - Transmitted as HTTP headers in the token request POST or GET.
2518
+ - Supports standard HTTP header syntax and conventions.
2519
+ - Must comply with OAuth 2.0 token endpoint requirements and HTTP protocol.
2520
+ - |-
2521
+ ## EXAMPLES:
2522
+ - Authorization: Basic base64(client_id:client_secret)
2523
+ - Content-Type: application/x-www-form-urlencoded
2524
+ - Custom-Header: customValue
2525
+ - |-
2526
+ A collection of HTTP headers to include in the token request when obtaining an
2527
+ OAuth 2.0 access token.
2528
+ These headers allow customization of the request, such as setting content types,
2529
+ authorization credentials, or custom metadata required by the token endpoint.
2530
+ The headers should be specified as key-value pairs where the key is the header
2531
+ name and the value is the header content.
2532
+ - |-
2533
+ A collection of HTTP headers to include in the token request when obtaining an
2534
+ OAuth 2.0 access token.
2535
+ These headers allow customization of the request, such as setting content types,
2536
+ authorization credentials, or custom metadata required by the token endpoint.
2537
+ The headers should be specified as key-value pairs where the key is the header
2538
+ name and the value is the header content.
2539
+ oneOf:
2540
+ - type: array
2541
+ items:
2542
+ type: object
2543
+ properties:
2544
+ name:
2545
+ type: string
2546
+ description: Name of the HTTP header to send.
2547
+ examples:
2548
+ - Content-Type
2549
+ value:
2550
+ type: string
2551
+ description: Value of the HTTP header to send.
2552
+ examples:
2553
+ - application/x-www-form-urlencoded
2554
+ - type: string
2555
+ - type: 'null'
2556
+ refresh:
2557
+ type: object
2558
+ description: Refresh token endpoint configuration.
2559
+ x-celigo-ai-guidance:
2560
+ - Indicates whether the OAuth2 refresh token flow is supported/enabled.
2561
+ - |-
2562
+ ## EXAMPLES:
2563
+ - `true`
2564
+ - `false`
2565
+ properties:
2566
+ method:
2567
+ type: string
2568
+ enum:
2569
+ - GET
2570
+ - POST
2571
+ x-enumDescriptions:
2572
+ GET: Refresh request sent as query parameters in a GET request.
2573
+ POST: Refresh request sent as form data in a POST request (recommended).
2574
+ description: HTTP method for the refresh token request.
2575
+ examples:
2576
+ - POST
2577
+ - GET
2578
+ x-celigo-ai-guidance:
2579
+ - |-
2580
+ ## IMPLEMENTATION GUIDANCE:
2581
+ - Typically set to POST for secure transmission of sensitive data.
2582
+ - Ensure the chosen method aligns with the OAuth 2.0 server's requirements.
2583
+ - Validate that the client library or HTTP client supports the specified method.
2584
+ - Consider security implications of using GET, as parameters may be exposed in URLs.
2585
+ - |-
2586
+ ## EXAMPLES:
2587
+ - POST
2588
+ - GET
2589
+ - |-
2590
+ ## IMPORTANT NOTES:
2591
+ - Using GET may expose refresh tokens in URLs, which can be logged or cached.
2592
+ - Some OAuth 2.0 servers may only support POST for token refresh requests.
2593
+ - The method must be consistent with the server's expected protocol to avoid errors.
2594
+ - |-
2595
+ ## DEPENDENCY CHAIN:
2596
+ - Depends on the OAuth 2.0 server's token endpoint configuration.
2597
+ - Interacts with the refresh token and client credentials parameters.
2598
+ - Influences the HTTP headers and body formatting of the request.
2599
+ - |-
2600
+ Specifies the HTTP method to be used when making the refresh token request in
2601
+ the OAuth 2.0 authentication flow.
2602
+ This method determines how the refresh token and related parameters are sent to
2603
+ the authorization server to obtain a new access token.
2604
+ Common HTTP methods include POST and GET,
2605
+ with POST being the most widely used due to its ability to securely transmit
2606
+ data in the request body.
2607
+ - |-
2608
+ ## FIELD BEHAVIOR:
2609
+ - Defines the HTTP verb for the token refresh request.
2610
+ - Influences how parameters are encoded and transmitted.
2611
+ - Affects compatibility with different OAuth 2.0 server implementations.
2612
+ - |-
2613
+ ## TECHNICAL DETAILS:
2614
+ - HTTP methods are case-insensitive but typically uppercase.
2615
+ - POST requests send parameters in the request body using application/x-www-form-urlencoded format.
2616
+ - GET requests send parameters as URL query parameters.
2617
+ - Proper handling of HTTP status codes and responses is required based on the method used.
2618
+ - |-
2619
+ Specifies the HTTP method to be used when making the refresh token request in
2620
+ the OAuth 2.0 authentication flow.
2621
+ This method determines how the refresh token and related parameters are sent to
2622
+ the authorization server to obtain a new access token.
2623
+ Common HTTP methods include POST and GET,
2624
+ with POST being the most widely used due to its ability to securely transmit
2625
+ data in the request body.
2626
+ - |-
2627
+ Specifies the HTTP method to be used when making the refresh token request in
2628
+ the OAuth 2.0 authentication flow.
2629
+ This method determines how the refresh token and related parameters are sent to
2630
+ the authorization server to obtain a new access token.
2631
+ Common HTTP methods include POST and GET,
2632
+ with POST being the most widely used due to its ability to securely transmit
2633
+ data in the request body.
2634
+ uri:
2635
+ type: string
2636
+ description: Refresh token endpoint URI.
2637
+ x-celigo-ai-guidance:
2638
+ - |-
2639
+ Refresh token endpoint URI used to exchange a refresh token for a new access
2640
+ token (RFC 6749 Section 6).
2641
+ - |-
2642
+ ## EXAMPLES:
2643
+ - https://auth.example.com/oauth2/token
2644
+ - https://login.provider.com/oauth2/v1/token
2645
+ - |-
2646
+ Refresh token endpoint URI used to exchange a refresh token for a new access
2647
+ token (RFC 6749 Section 6).
2648
+ - |-
2649
+ Refresh token endpoint URI used to exchange a refresh token for a new access
2650
+ token (RFC 6749 Section 6).
2651
+ examples:
2652
+ - https://accounts.google.com/o/oauth2/token
2653
+ - https://auth.example.com/oauth2/token
2654
+ - https://login.provider.com/oauth2/v1/token
2655
+ body:
2656
+ type: string
2657
+ description: |-
2658
+ Custom request body template for the refresh request.
2659
+ Supports Handlebars expressions.
2660
+ x-celigo-ai-guidance:
2661
+ - |-
2662
+ The body of the HTTP request used to refresh an OAuth 2.0 access token.
2663
+ This typically includes parameters such as the refresh token,
2664
+ client credentials, grant type,
2665
+ and any additional required fields as specified by the OAuth 2.0 protocol.
2666
+ The body must be formatted according to the content type expected by the authorization server,
2667
+ commonly application/x-www-form-urlencoded.
2668
+ - |-
2669
+ ## EXAMPLES:
2670
+ - grant_type=refresh_token&refresh_token=xyz123&client_id=abc&client_secret=secret
2671
+ - grant_type=refresh_token&refresh_token=def456
2672
+ - |-
2673
+ ## FIELD BEHAVIOR:
2674
+ - Contains all necessary parameters to request a new access token using a refresh token.
2675
+ - Must include the "grant_type" parameter set to "refresh_token".
2676
+ - Should include the "refresh_token" parameter with the valid refresh token value.
2677
+ - May include client authentication parameters such as "client_id" and "client_secret" if required.
2678
+ - Sent as the payload of the HTTP POST request to the token endpoint.
2679
+ - |-
2680
+ ## IMPORTANT NOTES:
2681
+ - The refresh token must be valid and not expired or revoked.
2682
+ - The authorization server may require client authentication in the body or via other means.
2683
+ - The content type header must match the format of the body (e.g., application/x-www-form-urlencoded).
2684
+ - Improper formatting or missing parameters will result in an error response from the server.
2685
+ - |-
2686
+ ## TECHNICAL DETAILS:
2687
+ - Typically sent as an HTTP POST request body.
2688
+ - Commonly uses application/x-www-form-urlencoded encoding.
2689
+ - Parameters include "grant_type", "refresh_token", and optionally "client_id" and "client_secret".
2690
+ - Must comply with OAuth 2.0 RFC 6749 Section 6 for token refresh requests.
2691
+ - |-
2692
+ ## IMPLEMENTATION GUIDANCE:
2693
+ - Ensure the body is properly URL-encoded if using application/x-www-form-urlencoded content type.
2694
+ - Validate that all required parameters are present before sending the request.
2695
+ - Follow the OAuth 2.0 specification (RFC 6749) for the exact parameter names and values.
2696
+ - Handle any additional parameters required by the specific OAuth provider.
2697
+ - Securely handle sensitive information such as client secrets and refresh tokens.
2698
+ - |-
2699
+ ## DEPENDENCY CHAIN:
2700
+ - Depends on having a valid refresh token obtained from a previous authorization.
2701
+ - Requires knowledge of the OAuth 2.0 token endpoint URL.
2702
+ - May depend on client credentials if the server requires client authentication.
2703
+ - Relies on the correct grant_type parameter to indicate a refresh token request.
2704
+ - |-
2705
+ The body of the HTTP request used to refresh an OAuth 2.0 access token.
2706
+ This typically includes parameters such as the refresh token,
2707
+ client credentials, grant type,
2708
+ and any additional required fields as specified by the OAuth 2.0 protocol.
2709
+ The body must be formatted according to the content type expected by the authorization server,
2710
+ commonly application/x-www-form-urlencoded.
2711
+ - |-
2712
+ The body of the HTTP request used to refresh an OAuth 2.0 access token.
2713
+ This typically includes parameters such as the refresh token,
2714
+ client credentials, grant type,
2715
+ and any additional required fields as specified by the OAuth 2.0 protocol.
2716
+ The body must be formatted according to the content type expected by the authorization server,
2717
+ commonly application/x-www-form-urlencoded.
2718
+ examples:
2719
+ - grant_type=refresh_token&refresh_token={{{iClient.oauth2.refreshToken}}}
2720
+ - grant_type=refresh_token&refresh_token=xyz123&client_id=abc&client_secret=secret
2721
+ - grant_type=refresh_token&refresh_token=def456
2722
+ headers:
2723
+ description: |-
2724
+ Custom HTTP headers for the refresh token request.
2725
+ Can be an array of `{name, value}` objects or a string.
2726
+ x-celigo-ai-guidance:
2727
+ - |-
2728
+ ## TECHNICAL DETAILS:
2729
+ - Represented as a map/dictionary of string keys and string values.
2730
+ - Translated into HTTP headers in the outgoing POST request to the token endpoint.
2731
+ - Must comply with HTTP/1.1 header field syntax and encoding rules.
2732
+ - Typically sent over HTTPS to ensure confidentiality and integrity.
2733
+ - |-
2734
+ ## FIELD BEHAVIOR:
2735
+ - Accepts key-value pairs representing HTTP header names and their corresponding values.
2736
+ - Headers are included in the HTTP request sent to the token endpoint during the refresh token flow.
2737
+ - Overrides or supplements default headers set by the client or HTTP library.
2738
+ - Supports standard and custom headers as required by the OAuth 2.0 provider.
2739
+ - |-
2740
+ A collection of HTTP headers to include in the OAuth 2.0 refresh token request.
2741
+ These headers can be used to pass additional metadata,
2742
+ authentication information,
2743
+ or custom parameters required by the authorization server during the token refresh process.
2744
+ Typically, this may include headers such as `Content-Type`, `Authorization`,
2745
+ or any other custom headers mandated by the API specification.
2746
+ - |-
2747
+ ## EXAMPLES:
2748
+ - `Content-Type: application/x-www-form-urlencoded`
2749
+ - `Authorization: Basic base64(client_id:client_secret)`
2750
+ - `Custom-Header: customValue`
2751
+ - |-
2752
+ ## IMPLEMENTATION GUIDANCE:
2753
+ - Ensure header names are correctly capitalized and conform to HTTP standards.
2754
+ - Avoid including sensitive information in headers unless required and secured.
2755
+ - Validate header values to prevent injection or formatting errors.
2756
+ - Use this field to add headers like `Authorization` if the token endpoint requires client authentication via headers.
2757
+ - Do not duplicate headers that are automatically managed by the HTTP client unless overriding is necessary.
2758
+ - |-
2759
+ ## IMPORTANT NOTES:
2760
+ - Headers specified here apply only to the refresh token request, not to other OAuth 2.0 flows.
2761
+ - Misconfigured headers can cause token refresh failures or security issues.
2762
+ - Some OAuth 2.0 servers require specific headers for token refresh requests; consult the provider's documentation.
2763
+ - Sensitive headers should be handled securely to prevent exposure.
2764
+ - |-
2765
+ ## DEPENDENCY CHAIN:
2766
+ - Used in conjunction with `oauth2.refresh.tokenUrl` to make the refresh token request.
2767
+ - May depend on client authentication method specified elsewhere in the OAuth 2.0 configuration.
2768
+ - Interacts with HTTP client settings that manage default headers.
2769
+ - |-
2770
+ A collection of HTTP headers to include in the OAuth 2.0 refresh token request.
2771
+ These headers can be used to pass additional metadata,
2772
+ authentication information,
2773
+ or custom parameters required by the authorization server during the token refresh process.
2774
+ Typically, this may include headers such as `Content-Type`, `Authorization`,
2775
+ or any other custom headers mandated by the API specification.
2776
+ - |-
2777
+ A collection of HTTP headers to include in the OAuth 2.0 refresh token request.
2778
+ These headers can be used to pass additional metadata,
2779
+ authentication information,
2780
+ or custom parameters required by the authorization server during the token refresh process.
2781
+ Typically, this may include headers such as `Content-Type`, `Authorization`,
2782
+ or any other custom headers mandated by the API specification.
2783
+ oneOf:
2784
+ - type: array
2785
+ items:
2786
+ type: object
2787
+ properties:
2788
+ name:
2789
+ type: string
2790
+ description: Name of the HTTP header to send.
2791
+ examples:
2792
+ - Content-Type
2793
+ value:
2794
+ type: string
2795
+ description: Value of the HTTP header to send.
2796
+ examples:
2797
+ - application/x-www-form-urlencoded
2798
+ - type: string
2799
+ - type: 'null'
2800
+ revoke:
2801
+ type: object
2802
+ description: Token revocation endpoint configuration (RFC 7009).
2803
+ x-celigo-ai-guidance:
2804
+ - |-
2805
+ ## EXAMPLES:
2806
+ - `true`
2807
+ - `false`
2808
+ - Indicates whether the OAuth2 token revocation endpoint is supported/enabled (RFC 7009).
2809
+ properties:
2810
+ uri:
2811
+ type: string
2812
+ description: Revocation endpoint URI.
2813
+ x-celigo-ai-guidance:
2814
+ - |-
2815
+ ## IMPORTANT NOTES:
2816
+ - The revocation URI is distinct from the authorization and token endpoints.
2817
+ - Proper implementation of token revocation enhances security by allowing clients to invalidate tokens when no longer needed.
2818
+ - Failure to provide a valid revocation URI may prevent clients from properly revoking tokens.
2819
+ - |-
2820
+ ## FIELD BEHAVIOR:
2821
+ - Accepts a single string value representing the revocation endpoint URL.
2822
+ - Used by clients to send HTTP POST requests to revoke tokens.
2823
+ - Should support standard OAuth 2.0 token revocation parameters as per RFC 7009.
2824
+ - Must be reachable and respond appropriately to revocation requests.
2825
+ - |-
2826
+ The URI endpoint where OAuth 2.0 token revocation requests are sent.
2827
+ This URI is used by clients to invalidate access or refresh tokens,
2828
+ ensuring they can no longer be used for authentication or authorization.
2829
+ It must be a valid HTTPS URL to guarantee secure transmission of sensitive token data.
2830
+ - |-
2831
+ ## TECHNICAL DETAILS:
2832
+ - Typically accessed via HTTP POST with parameters such as token and token_type_hint.
2833
+ - Must handle authentication of the client making the revocation request.
2834
+ - Should return appropriate HTTP status codes indicating success or failure of revocation.
2835
+ - |-
2836
+ ## IMPLEMENTATION GUIDANCE:
2837
+ - Ensure the URI uses HTTPS to protect token data during transmission.
2838
+ - The endpoint should conform to OAuth 2.0 Token Revocation specification (RFC 7009).
2839
+ - Validate the URI format to prevent misconfiguration.
2840
+ - Document any additional headers or authentication required by the revocation endpoint.
2841
+ - |-
2842
+ ## DEPENDENCY CHAIN:
2843
+ - Depends on the OAuth 2.0 authorization server configuration.
2844
+ - Related to the OAuth 2.0 token endpoint and authorization endpoint.
2845
+ - Used in conjunction with client credentials and tokens issued by the authorization server.
2846
+ - |-
2847
+ ## EXAMPLES:
2848
+ - https://auth.example.com/oauth2/revoke
2849
+ - https://api.service.com/oauth2/token/revoke
2850
+ - |-
2851
+ The URI endpoint where OAuth 2.0 token revocation requests are sent.
2852
+ This URI is used by clients to invalidate access or refresh tokens,
2853
+ ensuring they can no longer be used for authentication or authorization.
2854
+ It must be a valid HTTPS URL to guarantee secure transmission of sensitive token data.
2855
+ - |-
2856
+ The URI endpoint where OAuth 2.0 token revocation requests are sent.
2857
+ This URI is used by clients to invalidate access or refresh tokens,
2858
+ ensuring they can no longer be used for authentication or authorization.
2859
+ It must be a valid HTTPS URL to guarantee secure transmission of sensitive token data.
2860
+ examples:
2861
+ - https://accounts.google.com/o/oauth2/revoke
2862
+ - https://auth.example.com/oauth2/revoke
2863
+ - https://api.service.com/oauth2/token/revoke
2864
+ body:
2865
+ type: string
2866
+ description: Custom request body for the revocation request.
2867
+ x-celigo-ai-guidance:
2868
+ - |-
2869
+ The request body containing the parameters required to revoke an OAuth 2.0 token.
2870
+ This typically includes the token to be revoked and may also specify the token
2871
+ type hint to indicate whether the token is an access token or a refresh token.
2872
+ The body must be formatted according to the application/x-www-form-urlencoded
2873
+ MIME type as per the OAuth 2.0 Token Revocation specification (RFC 7009).
2874
+ - |-
2875
+ ## IMPORTANT NOTES:
2876
+ - The token parameter is mandatory; omission will result in an error.
2877
+ - The token_type_hint is optional but recommended to improve server processing.
2878
+ - Revocation requests must be authenticated as per the authorization server's requirements.
2879
+ - Revoking a token invalidates it immediately, preventing further use.
2880
+ - The body must not contain any additional parameters beyond those defined by the specification.
2881
+ - |-
2882
+ ## DEPENDENCY CHAIN:
2883
+ - Depends on the OAuth 2.0 token revocation endpoint being correctly configured.
2884
+ - Requires the client to have a valid token to revoke.
2885
+ - May depend on client authentication credentials included in the request headers.
2886
+ - The server's response depends on the correctness of the body parameters.
2887
+ - |-
2888
+ ## TECHNICAL DETAILS:
2889
+ - Content-Type: application/x-www-form-urlencoded
2890
+ - Encoding: URL-encoded key-value pairs
2891
+ - Parameters:
2892
+ - token (string, required): The token to be revoked.
2893
+ - token_type_hint (string, optional): A hint about the type of the token.
2894
+ - HTTP Method: POST
2895
+ - Conforms to RFC 7009 (OAuth 2.0 Token Revocation)
2896
+ - |-
2897
+ ## EXAMPLES:
2898
+ - token=SlAV32hkKG
2899
+ - token=34xkj23j4k23&token_type_hint=refresh_token
2900
+ - token=abcdef123456&token_type_hint=access_token
2901
+ - |-
2902
+ ## FIELD BEHAVIOR:
2903
+ - Contains key-value pairs representing the token and optional token type hint.
2904
+ - Must be included in the HTTP POST request to the token revocation endpoint.
2905
+ - Parameters are URL-encoded in the request body.
2906
+ - Used to instruct the authorization server to invalidate a specific token.
2907
+ - |-
2908
+ ## IMPLEMENTATION GUIDANCE:
2909
+ - Ensure the body includes the "token" parameter with the token string to revoke.
2910
+ - Optionally include "token_type_hint" with values like "access_token" or "refresh_token" to assist the server.
2911
+ - Use application/x-www-form-urlencoded content type for the request.
2912
+ - Validate that the token parameter is present and correctly formatted before sending.
2913
+ - Handle server responses to confirm successful revocation or errors.
2914
+ - |-
2915
+ The request body containing the parameters required to revoke an OAuth 2.0 token.
2916
+ This typically includes the token to be revoked and may also specify the token
2917
+ type hint to indicate whether the token is an access token or a refresh token.
2918
+ The body must be formatted according to the application/x-www-form-urlencoded
2919
+ MIME type as per the OAuth 2.0 Token Revocation specification (RFC 7009).
2920
+ - |-
2921
+ The request body containing the parameters required to revoke an OAuth 2.0 token.
2922
+ This typically includes the token to be revoked and may also specify the token
2923
+ type hint to indicate whether the token is an access token or a refresh token.
2924
+ The body must be formatted according to the application/x-www-form-urlencoded
2925
+ MIME type as per the OAuth 2.0 Token Revocation specification (RFC 7009).
2926
+ examples:
2927
+ - token={{{iClient.oauth2.accessToken}}}
2928
+ - token=SlAV32hkKG
2929
+ - token=34xkj23j4k23&token_type_hint=refresh_token
2930
+ - token=abcdef123456&token_type_hint=access_token
2931
+ headers:
2932
+ description: |-
2933
+ Custom HTTP headers for the revocation request.
2934
+ Can be an array of `{name, value}` objects or a string.
2935
+ x-celigo-ai-guidance:
2936
+ - |-
2937
+ ## FIELD BEHAVIOR:
2938
+ - Accepts key-value pairs representing HTTP header names and their corresponding values.
2939
+ - Headers are included in the HTTP request sent to the token revocation endpoint.
2940
+ - Can override default headers or add custom headers as needed.
2941
+ - Supports standard headers like `Authorization`, `Content-Type`, and custom headers.
2942
+ - |-
2943
+ ## DEPENDENCY CHAIN:
2944
+ - Used in conjunction with the `oauth2.revoke.url` property specifying the revocation endpoint.
2945
+ - May depend on `oauth2.revoke.method` to determine the HTTP method used.
2946
+ - Works alongside other OAuth 2.0 configuration properties to complete the revocation flow.
2947
+ - |-
2948
+ ## TECHNICAL DETAILS:
2949
+ - Represented as a map or dictionary of string key-value pairs.
2950
+ - Incorporated into the HTTP request headers when making the revocation call.
2951
+ - Must comply with HTTP header syntax and encoding rules.
2952
+ - Typically used in HTTP POST requests to the revocation endpoint.
2953
+ - |-
2954
+ ## IMPORTANT NOTES:
2955
+ - Headers specified here will be sent only during the token revocation request.
2956
+ - Misconfigured headers may cause the revocation request to fail.
2957
+ - This field does not affect other OAuth 2.0 requests such as token acquisition or introspection.
2958
+ - |-
2959
+ A collection of HTTP headers to include in the token revocation request for OAuth 2.0.
2960
+ These headers can be used to specify additional metadata such as content type,
2961
+ authorization credentials, custom client information,
2962
+ or any other required HTTP headers that the revocation endpoint expects.
2963
+ This allows for greater flexibility and control over the HTTP request sent to
2964
+ the authorization server when revoking tokens.
2965
+ - |-
2966
+ ## IMPLEMENTATION GUIDANCE:
2967
+ - Ensure header names are correctly capitalized and conform to HTTP standards.
2968
+ - Avoid including sensitive information in headers unless required and secure.
2969
+ - Validate header values to prevent injection or formatting errors.
2970
+ - Use this field to comply with specific OAuth 2.0 server requirements for token revocation.
2971
+ - |-
2972
+ ## EXAMPLES:
2973
+ - `Authorization: Basic Y2xpZW50SWQ6Y2xpZW50U2VjcmV0`
2974
+ - `Content-Type: application/x-www-form-urlencoded`
2975
+ - `X-Custom-Header: customValue`
2976
+ - |-
2977
+ A collection of HTTP headers to include in the token revocation request for OAuth 2.0.
2978
+ These headers can be used to specify additional metadata such as content type,
2979
+ authorization credentials, custom client information,
2980
+ or any other required HTTP headers that the revocation endpoint expects.
2981
+ This allows for greater flexibility and control over the HTTP request sent to
2982
+ the authorization server when revoking tokens.
2983
+ - |-
2984
+ A collection of HTTP headers to include in the token revocation request for OAuth 2.0.
2985
+ These headers can be used to specify additional metadata such as content type,
2986
+ authorization credentials, custom client information,
2987
+ or any other required HTTP headers that the revocation endpoint expects.
2988
+ This allows for greater flexibility and control over the HTTP request sent to
2989
+ the authorization server when revoking tokens.
2990
+ oneOf:
2991
+ - type: array
2992
+ items:
2993
+ type: object
2994
+ properties:
2995
+ name:
2996
+ type: string
2997
+ description: Name of the HTTP header to send.
2998
+ examples:
2999
+ - Content-Type
3000
+ value:
3001
+ type: string
3002
+ description: Value of the HTTP header to send.
3003
+ examples:
3004
+ - application/x-www-form-urlencoded
3005
+ - type: string
3006
+ - type: 'null'
3007
+ unencrypted:
3008
+ type: object
3009
+ description: |-
3010
+ Non-sensitive key-value pairs accessible via iClient
3011
+ references (e.g. email, account ID, role).
3012
+ x-celigo-ai-guidance:
3013
+ - |-
3014
+ ## EXAMPLES:
3015
+ - `{"email":"my_email@company.com", "accountId": "8675301", "role":"admin"}`
3016
+ - |-
3017
+ Store all non-sensitive fields required by your imports and exports to access
3018
+ the app you are connecting to;
3019
+ these values can be referenced by resources within integrator.io through the iClient.
3020
+ - |-
3021
+ ## IMPORTANT NOTES:
3022
+ - Only store non-sensitive values here (safe to store unencrypted).
3023
+ - Use `encrypted` for secrets (passwords, tokens, keys).
3024
+ - |-
3025
+ Store all non-sensitive fields required by your imports and exports to access
3026
+ the app you are connecting to;
3027
+ these values can be referenced by resources within integrator.io through the iClient.
3028
+ - |-
3029
+ Store all non-sensitive fields required by your imports and exports to access
3030
+ the app you are connecting to;
3031
+ these values can be referenced by resources within integrator.io through the iClient.
3032
+ encrypted:
3033
+ type:
3034
+ - object
3035
+ - string
3036
+ description: |-
3037
+ Sensitive key-value pairs stored with AES-256 encryption.
3038
+ Send an object when writing; API responses mask the whole
3039
+ value as the string `"******"`.
3040
+ x-celigo-ai-guidance:
3041
+ - |-
3042
+ ## EXAMPLES:
3043
+ - `{"password":"celigorocks"}`
3044
+ - `{"token":"x7if4nkovhgr63ghp"}`
3045
+ - |-
3046
+ ## IMPORTANT NOTES:
3047
+ - Use this for secrets (passwords, tokens, keys).
3048
+ - Values may be masked (e.g., `"******"`) in API responses once stored.
3049
+ - |-
3050
+ Store all **sensitive** fields required by your imports and exports to access
3051
+ the app you are connecting to;
3052
+ these values are stored with **AES-256 encryption** and other layers of
3053
+ protection to keep your data safe,
3054
+ and can be referenced by resources within integrator.io through the iClient.
3055
+ - |-
3056
+ Store all **sensitive** fields required by your imports and exports to access
3057
+ the app you are connecting to;
3058
+ these values are stored with **AES-256 encryption** and other layers of
3059
+ protection to keep your data safe,
3060
+ and can be referenced by resources within integrator.io through the iClient.
3061
+ - |-
3062
+ Store all **sensitive** fields required by your imports and exports to access
3063
+ the app you are connecting to;
3064
+ these values are stored with **AES-256 encryption** and other layers of
3065
+ protection to keep your data safe,
3066
+ and can be referenced by resources within integrator.io through the iClient.
3067
+ netsuite:
3068
+ type: object
3069
+ description: NetSuite token-based authentication credentials.
3070
+ x-celigo-ai-guidance:
3071
+ - |-
3072
+ Configuration settings and credentials required to integrate with the NetSuite platform,
3073
+ enabling seamless data synchronization and interaction with NetSuite's ERP and CRM services.
3074
+ This property typically includes authentication details, API endpoints,
3075
+ and any necessary parameters for establishing a secure connection.
3076
+ - |-
3077
+ ## IMPORTANT NOTES:
3078
+ - Incorrect or outdated credentials will prevent successful integration.
3079
+ - NetSuite API limits and governance should be considered to avoid throttling.
3080
+ - Regularly review and rotate credentials to maintain security.
3081
+ - Integration may require specific permissions within NetSuite roles.
3082
+ - |-
3083
+ ## IMPLEMENTATION GUIDANCE:
3084
+ - Ensure sensitive credentials are stored securely and encrypted.
3085
+ - Validate all required fields before attempting connection to NetSuite.
3086
+ - Support environment-specific configurations (e.g., sandbox vs. production).
3087
+ - Handle error responses gracefully to maintain integration stability.
3088
+ - Keep the configuration up to date with NetSuite API version changes.
3089
+ - |-
3090
+ ## TECHNICAL DETAILS:
3091
+ - Typically includes OAuth 1.0a or token-based authentication parameters.
3092
+ - May require JSON or XML formatted configuration data.
3093
+ - Supports both REST and SOAP API protocols depending on use case.
3094
+ - Configuration format should align with NetSuite's API specification requirements.
3095
+ - |-
3096
+ ## FIELD BEHAVIOR:
3097
+ - Holds all necessary information to authenticate and communicate with NetSuite APIs.
3098
+ - Used to configure integration settings such as account ID, role, and environment.
3099
+ - Enables data exchange between the application and NetSuite for operations like record creation, updates, and queries.
3100
+ - May support multiple authentication methods, including token-based and OAuth.
3101
+ - |-
3102
+ ## EXAMPLES:
3103
+ - API credentials including consumer key, consumer secret, token ID, and token secret.
3104
+ - Account ID and role ID for specifying the NetSuite account and user role.
3105
+ - URLs for NetSuite REST or SOAP API endpoints.
3106
+ - Flags or settings indicating sandbox or production environment.
3107
+ - |-
3108
+ ## DEPENDENCY CHAIN:
3109
+ - Dependent on secure storage mechanisms for credentials.
3110
+ - Relies on network connectivity to NetSuite services.
3111
+ - May depend on other configuration properties like logging or retry policies.
3112
+ - |-
3113
+ Configuration settings and credentials required to integrate with the NetSuite platform,
3114
+ enabling seamless data synchronization and interaction with NetSuite's ERP and CRM services.
3115
+ This property typically includes authentication details, API endpoints,
3116
+ and any necessary parameters for establishing a secure connection.
3117
+ - |-
3118
+ Configuration settings and credentials required to integrate with the NetSuite platform,
3119
+ enabling seamless data synchronization and interaction with NetSuite's ERP and CRM services.
3120
+ This property typically includes authentication details, API endpoints,
3121
+ and any necessary parameters for establishing a secure connection.
3122
+ properties:
3123
+ consumerKey:
3124
+ type: string
3125
+ description: |-
3126
+ NetSuite consumer key. Returned masked as `"******"`.
3127
+ Re-send that value on update to keep it; it is not preserved if omitted.
3128
+ x-celigo-ai-guidance:
3129
+ - |-
3130
+ Set the NetSuite consumer key value used for authentication;
3131
+ provide this value to configure or update the iClient.
3132
+ Internally,
3133
+ integrator.io stores this value encrypted at rest (for example as
3134
+ `consumerKey_crypt`/`consumerKey_salt` fields in the underlying model),
3135
+ and API responses typically return a masked value (e.g.,
3136
+ `"******"`) when a value is already set.
3137
+ - |-
3138
+ ## IMPLEMENTATION GUIDANCE:
3139
+ - Provide the plaintext consumer key here to set/update it.
3140
+ - To keep the existing value unchanged during an update, omit this field (or keep `"******"` as-is if returned).
3141
+ - |-
3142
+ Set the NetSuite consumer key value used for authentication;
3143
+ provide this value to configure or update the iClient.
3144
+ Internally,
3145
+ integrator.io stores this value encrypted at rest (for example as
3146
+ `consumerKey_crypt`/`consumerKey_salt` fields in the underlying model),
3147
+ and API responses typically return a masked value (e.g.,
3148
+ `"******"`) when a value is already set.
3149
+ - |-
3150
+ Set the NetSuite consumer key value used for authentication;
3151
+ provide this value to configure or update the iClient.
3152
+ Internally,
3153
+ integrator.io stores this value encrypted at rest (for example as
3154
+ `consumerKey_crypt`/`consumerKey_salt` fields in the underlying model),
3155
+ and API responses typically return a masked value (e.g.,
3156
+ `"******"`) when a value is already set.
3157
+ consumerSecret:
3158
+ type: string
3159
+ description: |-
3160
+ NetSuite consumer secret. Returned masked as `"******"`.
3161
+ Re-send that value on update to keep it; it is not preserved if omitted.
3162
+ x-celigo-ai-guidance:
3163
+ - |-
3164
+ ## IMPLEMENTATION GUIDANCE:
3165
+ - Provide the plaintext consumer secret here to set/update it.
3166
+ - To keep the existing value unchanged during an update, omit this field (or keep `"******"` as-is if returned).
3167
+ - |-
3168
+ The NetSuite consumer secret value used for authentication;
3169
+ provide this value to configure or update the iClient.
3170
+ Internally,
3171
+ integrator.io stores this value encrypted at rest (for example as
3172
+ `consumerSecret_crypt`/`consumerSecret_salt` fields in the underlying model),
3173
+ and API responses typically return a masked value (e.g.,
3174
+ `"******"`) when a value is already set.
3175
+ - |-
3176
+ The NetSuite consumer secret value used for authentication;
3177
+ provide this value to configure or update the iClient.
3178
+ Internally,
3179
+ integrator.io stores this value encrypted at rest (for example as
3180
+ `consumerSecret_crypt`/`consumerSecret_salt` fields in the underlying model),
3181
+ and API responses typically return a masked value (e.g.,
3182
+ `"******"`) when a value is already set.
3183
+ - |-
3184
+ The NetSuite consumer secret value used for authentication;
3185
+ provide this value to configure or update the iClient.
3186
+ Internally,
3187
+ integrator.io stores this value encrypted at rest (for example as
3188
+ `consumerSecret_crypt`/`consumerSecret_salt` fields in the underlying model),
3189
+ and API responses typically return a masked value (e.g.,
3190
+ `"******"`) when a value is already set.
3191
+ salesforce:
3192
+ type: object
3193
+ description: Salesforce authentication credentials.
3194
+ x-celigo-ai-guidance:
3195
+ - |-
3196
+ ## FIELD BEHAVIOR:
3197
+ - Holds all necessary information to authenticate and communicate with Salesforce services.
3198
+ - Used to configure API calls for data retrieval, updates, and other Salesforce operations.
3199
+ - May include nested objects or fields such as client ID, client secret, access tokens, instance URLs, and API versions.
3200
+ - |-
3201
+ ## EXAMPLES:
3202
+ - An object containing OAuth credentials: client_id, client_secret, refresh_token, and instance_url.
3203
+ - Configuration specifying API version and endpoint URLs.
3204
+ - JSON structure with nested authentication and connection parameters.
3205
+ - |-
3206
+ ## IMPORTANT NOTES:
3207
+ - Proper error handling should be implemented for authentication failures or API call errors.
3208
+ - Salesforce API limits and quotas should be considered when designing integration logic.
3209
+ - Secure handling of credentials is critical to prevent unauthorized access.
3210
+ - The structure and required fields may vary depending on the Salesforce API version and authentication method used.
3211
+ - |-
3212
+ ## IMPLEMENTATION GUIDANCE:
3213
+ - Ensure sensitive information like client secrets and access tokens are securely stored and transmitted.
3214
+ - Validate the presence and correctness of required fields before attempting Salesforce integration.
3215
+ - Support token refresh mechanisms if applicable to maintain session validity.
3216
+ - Allow configuration flexibility to support different Salesforce environments (e.g., sandbox, production).
3217
+ - |-
3218
+ ## DEPENDENCY CHAIN:
3219
+ - Dependent on Salesforce authentication mechanisms (OAuth 2.0, username-password flow, etc.).
3220
+ - Relies on network connectivity to Salesforce endpoints.
3221
+ - May depend on external libraries or SDKs for Salesforce API interaction.
3222
+ - |-
3223
+ Configuration settings and credentials required to integrate with Salesforce,
3224
+ enabling seamless data synchronization and interaction with Salesforce APIs.
3225
+ This property typically includes authentication details, API endpoints,
3226
+ and any necessary parameters for establishing a secure connection to a Salesforce instance.
3227
+ - |-
3228
+ ## TECHNICAL DETAILS:
3229
+ - Typically involves OAuth 2.0 tokens or username-password credentials.
3230
+ - Uses HTTPS for secure communication with Salesforce REST or SOAP APIs.
3231
+ - May include refresh token logic to maintain long-term access.
3232
+ - Supports configuration of API versioning to align with Salesforce API changes.
3233
+ - |-
3234
+ Configuration settings and credentials required to integrate with Salesforce,
3235
+ enabling seamless data synchronization and interaction with Salesforce APIs.
3236
+ This property typically includes authentication details, API endpoints,
3237
+ and any necessary parameters for establishing a secure connection to a Salesforce instance.
3238
+ - |-
3239
+ Configuration settings and credentials required to integrate with Salesforce,
3240
+ enabling seamless data synchronization and interaction with Salesforce APIs.
3241
+ This property typically includes authentication details, API endpoints,
3242
+ and any necessary parameters for establishing a secure connection to a Salesforce instance.
3243
+ properties:
3244
+ clientId:
3245
+ type: string
3246
+ description: Salesforce connected app client ID.
3247
+ x-celigo-ai-guidance:
3248
+ - |-
3249
+ ## IMPLEMENTATION GUIDANCE:
3250
+ - Obtain this value from the Salesforce connected app configuration.
3251
+ - Store securely and avoid exposing it in client-side code.
3252
+ - Validate the format to ensure it matches Salesforce client ID patterns.
3253
+ - Use in conjunction with clientSecret for authentication.
3254
+ - |-
3255
+ ## DEPENDENCY CHAIN:
3256
+ - Dependent on the Salesforce connected app setup.
3257
+ - Works alongside clientSecret, redirectUri, and OAuth tokens.
3258
+ - Required for generating access tokens.
3259
+ - |-
3260
+ The unique identifier assigned to a client application by Salesforce during the
3261
+ OAuth client registration process.
3262
+ This ID is used to authenticate the client when making API requests and
3263
+ establishing a secure connection with Salesforce services.
3264
+ It is essential for enabling authorized access to Salesforce resources on behalf
3265
+ of the client application.
3266
+ - |-
3267
+ ## EXAMPLES:
3268
+ - "3MVG9d6T2QxX9z5l7Y8P0qR1sT2uVwXyZAbCdEfGhIjKlMnOpQrStUvWxYz123456"
3269
+ - "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
3270
+ - |-
3271
+ ## IMPORTANT NOTES:
3272
+ - The clientId alone does not grant access; it must be paired with appropriate credentials and tokens.
3273
+ - Changing the clientId requires updating all integrations using it.
3274
+ - Keep the clientId confidential to prevent unauthorized access.
3275
+ - |-
3276
+ ## TECHNICAL DETAILS:
3277
+ - Typically a 40-character alphanumeric string.
3278
+ - Assigned by Salesforce upon connected app creation.
3279
+ - Used in HTTP headers or request parameters during OAuth flows.
3280
+ - |-
3281
+ ## FIELD BEHAVIOR:
3282
+ - Must be a non-empty string.
3283
+ - Used as part of the OAuth authentication flow.
3284
+ - Typically remains constant for a given client application.
3285
+ - Required for initiating API calls to Salesforce.
3286
+ - |-
3287
+ The unique identifier assigned to a client application by Salesforce during the
3288
+ OAuth client registration process.
3289
+ This ID is used to authenticate the client when making API requests and
3290
+ establishing a secure connection with Salesforce services.
3291
+ It is essential for enabling authorized access to Salesforce resources on behalf
3292
+ of the client application.
3293
+ - |-
3294
+ The unique identifier assigned to a client application by Salesforce during the
3295
+ OAuth client registration process.
3296
+ This ID is used to authenticate the client when making API requests and
3297
+ establishing a secure connection with Salesforce services.
3298
+ It is essential for enabling authorized access to Salesforce resources on behalf
3299
+ of the client application.
3300
+ examples:
3301
+ - 3MVG9pRzvMkjMb6kkUMc3nVfDlF1H9V8sV0kZ8wQ7nC2x
3302
+ - 3MVG9d6T2QxX9z5l7Y8P0qR1sT2uVwXyZAbCdEfGhIjKlMnOpQrStUvWxYz123456
3303
+ - 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
3304
+ clientSecret:
3305
+ type: string
3306
+ description: |-
3307
+ Salesforce client secret. Returned masked as `"******"`.
3308
+ Re-send that value on update to keep it; it is not preserved if omitted.
3309
+ x-celigo-ai-guidance:
3310
+ - |-
3311
+ ## IMPLEMENTATION GUIDANCE:
3312
+ - Provide the plain client secret value here to set/update it.
3313
+ - To keep the existing secret unchanged during an update, omit this field (or keep `"******"` as-is if returned).
3314
+ - |-
3315
+ Use the Salesforce OAuth **client secret** value to configure or update the Salesforce iClient;
3316
+ integrator.io stores this secret encrypted at rest internally (for example as
3317
+ `clientSecret_crypt` and `clientSecret_salt` fields in the underlying model),
3318
+ and API responses typically return a masked value (e.g.,
3319
+ `"******"`) when a secret is already set.
3320
+ - |-
3321
+ Use the Salesforce OAuth **client secret** value to configure or update the Salesforce iClient;
3322
+ integrator.io stores this secret encrypted at rest internally (for example as
3323
+ `clientSecret_crypt` and `clientSecret_salt` fields in the underlying model),
3324
+ and API responses typically return a masked value (e.g.,
3325
+ `"******"`) when a secret is already set.
3326
+ - |-
3327
+ Use the Salesforce OAuth **client secret** value to configure or update the Salesforce iClient;
3328
+ integrator.io stores this secret encrypted at rest internally (for example as
3329
+ `clientSecret_crypt` and `clientSecret_salt` fields in the underlying model),
3330
+ and API responses typically return a masked value (e.g.,
3331
+ `"******"`) when a secret is already set.
3332
+ apiToken:
3333
+ type: string
3334
+ description: |-
3335
+ Salesforce security token appended to the password for
3336
+ username-password auth flows.
3337
+ x-celigo-ai-guidance:
3338
+ - |-
3339
+ ## DEPENDENCY CHAIN:
3340
+ - Dependent on Salesforce user credentials or OAuth authorization flows.
3341
+ - Used in conjunction with the Salesforce instance URL and API endpoints.
3342
+ - May require additional headers or parameters as per Salesforce API specifications.
3343
+ - |-
3344
+ ## IMPORTANT NOTES:
3345
+ - The API token is sensitive information and should be treated like a password.
3346
+ - Sharing or leaking the token can compromise Salesforce data security.
3347
+ - Ensure compliance with Salesforce security policies when handling tokens.
3348
+ - Different Salesforce environments (sandbox vs production) may require different tokens.
3349
+ - |-
3350
+ ## EXAMPLES:
3351
+ - A long alphanumeric string like "00Dxx0000001gPFEAY!AQ0AQJ..."
3352
+ - OAuth access tokens obtained via Salesforce OAuth 2.0 flows.
3353
+ - Tokens generated from Salesforce connected apps for API access.
3354
+ - |-
3355
+ ## IMPLEMENTATION GUIDANCE:
3356
+ - Store the token securely, such as in environment variables or secure vaults.
3357
+ - Avoid hardcoding the token in source code or exposing it in logs.
3358
+ - Implement token refresh logic if using OAuth tokens with limited lifespans.
3359
+ - Validate the token format before use to prevent malformed requests.
3360
+ - |-
3361
+ ## TECHNICAL DETAILS:
3362
+ - Typically included in HTTP headers as "Authorization: Bearer {apiToken}".
3363
+ - May have scopes or permissions associated depending on how it was generated.
3364
+ - Tokens may be JWTs or opaque strings depending on the authentication method.
3365
+ - Salesforce APIs validate the token on each request to authorize access.
3366
+ - |-
3367
+ The API token used to authenticate requests to the Salesforce API.
3368
+ This token acts as a secure credential that grants access to Salesforce
3369
+ resources and operations,
3370
+ ensuring that only authorized clients can interact with the Salesforce environment.
3371
+ It is typically generated within Salesforce or through an OAuth flow and must be
3372
+ kept confidential to prevent unauthorized access.
3373
+ - |-
3374
+ ## FIELD BEHAVIOR:
3375
+ - Used for authenticating API calls to Salesforce.
3376
+ - Must be included in the authorization header or as specified by the Salesforce API.
3377
+ - Typically has an expiration time and may require periodic renewal.
3378
+ - Invalid or expired tokens will result in authentication errors.
3379
+ - |-
3380
+ The API token used to authenticate requests to the Salesforce API.
3381
+ This token acts as a secure credential that grants access to Salesforce
3382
+ resources and operations,
3383
+ ensuring that only authorized clients can interact with the Salesforce environment.
3384
+ It is typically generated within Salesforce or through an OAuth flow and must be
3385
+ kept confidential to prevent unauthorized access.
3386
+ - |-
3387
+ The API token used to authenticate requests to the Salesforce API.
3388
+ This token acts as a secure credential that grants access to Salesforce
3389
+ resources and operations,
3390
+ ensuring that only authorized clients can interact with the Salesforce environment.
3391
+ It is typically generated within Salesforce or through an OAuth flow and must be
3392
+ kept confidential to prevent unauthorized access.
3393
+ privateKey:
3394
+ type: string
3395
+ description: |-
3396
+ Private key for Salesforce JWT bearer token flows (PEM
3397
+ format). Returned masked as `"******"`.
3398
+ x-celigo-ai-guidance:
3399
+ - |-
3400
+ ## IMPLEMENTATION GUIDANCE:
3401
+ - Provide the plaintext private key value here to set/update it (often PEM formatted).
3402
+ - To keep the existing private key unchanged during an update, omit this field (or keep `"******"` as-is if returned).
3403
+ - |-
3404
+ Set the Salesforce private key value used for authentication flows such as JWT
3405
+ bearer token OAuth;
3406
+ this is the value you provide to configure or update the Salesforce iClient.
3407
+ Internally,
3408
+ integrator.io stores this key encrypted at rest (for example as
3409
+ `privateKey_crypt`/`privateKey_salt` fields in the underlying model),
3410
+ and API responses typically return a masked value (e.g.,
3411
+ `"******"`) when a key is already set.
3412
+ - |-
3413
+ Set the Salesforce private key value used for authentication flows such as JWT
3414
+ bearer token OAuth;
3415
+ this is the value you provide to configure or update the Salesforce iClient.
3416
+ Internally,
3417
+ integrator.io stores this key encrypted at rest (for example as
3418
+ `privateKey_crypt`/`privateKey_salt` fields in the underlying model),
3419
+ and API responses typically return a masked value (e.g.,
3420
+ `"******"`) when a key is already set.
3421
+ - |-
3422
+ Set the Salesforce private key value used for authentication flows such as JWT
3423
+ bearer token OAuth;
3424
+ this is the value you provide to configure or update the Salesforce iClient.
3425
+ Internally,
3426
+ integrator.io stores this key encrypted at rest (for example as
3427
+ `privateKey_crypt`/`privateKey_salt` fields in the underlying model),
3428
+ and API responses typically return a masked value (e.g.,
3429
+ `"******"`) when a key is already set.
3430
+ publicKey:
3431
+ type: string
3432
+ description: Public key corresponding to `privateKey` (PEM format).
3433
+ x-celigo-ai-guidance:
3434
+ - |-
3435
+ ## DEPENDENCY CHAIN:
3436
+ - Dependent on the cryptographic algorithm and key pair generation process.
3437
+ - Used by authentication, encryption, or signature verification components.
3438
+ - May be linked to other security configurations such as certificates or token validation settings.
3439
+ - |-
3440
+ ## FIELD BEHAVIOR:
3441
+ - Accepts a string value representing the public key in a standard format (e.g., PEM, DER).
3442
+ - Used to encrypt data or verify signatures in cryptographic operations.
3443
+ - Must be provided in a format compatible with the consuming system.
3444
+ - Immutable once set for a given integration instance to maintain security.
3445
+ - |-
3446
+ ## EXAMPLES:
3447
+ - A PEM-encoded RSA public key string starting with "-----BEGIN PUBLIC KEY-----".
3448
+ - An ECDSA public key represented in base64 encoding.
3449
+ - A public key string used to verify JWT tokens issued by Salesforce.
3450
+ - |-
3451
+ ## TECHNICAL DETAILS:
3452
+ - Typically encoded in PEM or DER format.
3453
+ - May include metadata such as key type and length.
3454
+ - Should comply with relevant security standards (e.g., PKCS#1, X.509).
3455
+ - Size and algorithm choice affect security strength and performance.
3456
+ - |-
3457
+ ## IMPLEMENTATION GUIDANCE:
3458
+ - Ensure the public key is generated using a secure and recognized cryptographic algorithm (e.g., RSA, ECDSA).
3459
+ - Validate the key format before accepting it to prevent errors during cryptographic operations.
3460
+ - Store the key securely and restrict access to prevent unauthorized modifications.
3461
+ - Update the key only through a controlled process to avoid breaking integrations.
3462
+ - |-
3463
+ ## IMPORTANT NOTES:
3464
+ - The publicKey must correspond to the private key held securely by the entity performing signing or decryption.
3465
+ - Do not expose the private key in any API or configuration.
3466
+ - Incorrect or malformed keys will cause authentication or encryption failures.
3467
+ - Keep the key updated in case of key rotation policies.
3468
+ - |-
3469
+ The publicKey property represents the public cryptographic key used for secure data encryption,
3470
+ verification, or authentication processes within the Salesforce integration.
3471
+ This key is typically part of a public-private key pair and is used to encrypt
3472
+ data or verify digital signatures without exposing the private key.
3473
+ It ensures secure communication and data integrity between systems.
3474
+ - |-
3475
+ The publicKey property represents the public cryptographic key used for secure data encryption,
3476
+ verification, or authentication processes within the Salesforce integration.
3477
+ This key is typically part of a public-private key pair and is used to encrypt
3478
+ data or verify digital signatures without exposing the private key.
3479
+ It ensures secure communication and data integrity between systems.
3480
+ - |-
3481
+ The publicKey property represents the public cryptographic key used for secure data encryption,
3482
+ verification, or authentication processes within the Salesforce integration.
3483
+ This key is typically part of a public-private key pair and is used to encrypt
3484
+ data or verify digital signatures without exposing the private key.
3485
+ It ensures secure communication and data integrity between systems.
3486
+ ebay:
3487
+ type: object
3488
+ description: eBay REST/Trading API authentication credentials.
3489
+ x-celigo-ai-guidance:
3490
+ - |-
3491
+ ## EXAMPLES:
3492
+ - API key and secret for eBay developer account.
3493
+ - OAuth tokens for user authentication with eBay.
3494
+ - URLs for eBay REST or Trading API endpoints.
3495
+ - Flags to enable or disable specific eBay features like inventory management or order processing.
3496
+ - |-
3497
+ ## FIELD BEHAVIOR:
3498
+ - Holds all necessary eBay-related configuration details.
3499
+ - Used to enable and customize eBay platform interactions.
3500
+ - May include API keys, tokens, endpoint URLs, and feature toggles.
3501
+ - Supports dynamic updates to eBay integration settings without redeploying the application.
3502
+ - |-
3503
+ ## TECHNICAL DETAILS:
3504
+ - Typically structured as a nested object containing keys like clientId, clientSecret, accessToken, refreshToken, and apiEndpoints.
3505
+ - May include metadata such as token expiration timestamps and scopes.
3506
+ - Supports serialization and secure storage mechanisms.
3507
+ - Designed to be extensible for future eBay API features and versions.
3508
+ - |-
3509
+ ## DEPENDENCY CHAIN:
3510
+ - Dependent on eBay developer account and API access permissions.
3511
+ - Interacts with authentication modules to manage tokens.
3512
+ - Works alongside order management and inventory systems for synchronization.
3513
+ - May depend on network connectivity and proxy settings for API calls.
3514
+ - |-
3515
+ ## IMPORTANT NOTES:
3516
+ - Credentials must be kept confidential and never exposed in client-side code.
3517
+ - Regularly update tokens and keys to maintain uninterrupted service.
3518
+ - Comply with eBay's API usage policies and rate limits.
3519
+ - Changes to this configuration may affect live eBay transactions and listings.
3520
+ - |-
3521
+ Contains configuration settings and credentials specific to eBay integration
3522
+ within the application.
3523
+ This property manages parameters required to connect, authenticate,
3524
+ and interact with eBay's APIs and services.
3525
+ - |-
3526
+ ## IMPLEMENTATION GUIDANCE:
3527
+ - Securely store sensitive information such as API credentials.
3528
+ - Validate the presence and correctness of required fields before making API calls.
3529
+ - Support environment-specific configurations (e.g., sandbox vs. production).
3530
+ - Ensure compatibility with the latest eBay API versions.
3531
+ - Provide clear error handling and logging for eBay-related operations.
3532
+ - |-
3533
+ Contains configuration settings and credentials specific to eBay integration
3534
+ within the application.
3535
+ This property manages parameters required to connect, authenticate,
3536
+ and interact with eBay's APIs and services.
3537
+ - |-
3538
+ Contains configuration settings and credentials specific to eBay integration
3539
+ within the application.
3540
+ This property manages parameters required to connect, authenticate,
3541
+ and interact with eBay's APIs and services.
3542
+ properties:
3543
+ appId:
3544
+ type: string
3545
+ description: eBay application ID from the eBay Developer Program.
3546
+ x-celigo-ai-guidance:
3547
+ - |-
3548
+ ## TECHNICAL DETAILS:
3549
+ - Typically a UUID or a unique string assigned by eBay.
3550
+ - Passed as part of HTTP headers or query parameters depending on the API.
3551
+ - Used by eBay servers to identify and authenticate the application making the request.
3552
+ - |-
3553
+ ## IMPLEMENTATION GUIDANCE:
3554
+ - Obtain the appId by registering your application on the eBay Developer Program portal.
3555
+ - Keep the appId confidential to prevent unauthorized use.
3556
+ - Include the appId in the request headers or parameters as specified by the API documentation.
3557
+ - Validate the appId format before sending requests to avoid errors.
3558
+ - |-
3559
+ ## EXAMPLES:
3560
+ - "12345678-1234-1234-1234-123456789abc"
3561
+ - "MyEbayAppID2024"
3562
+ - "APP-9876543210"
3563
+ - |-
3564
+ ## DEPENDENCY CHAIN:
3565
+ - Depends on successful registration with the eBay Developer Program.
3566
+ - Used in conjunction with other authentication credentials like OAuth tokens.
3567
+ - Required before making authorized API calls.
3568
+ - |-
3569
+ The unique identifier assigned to an application registered with the eBay developer program.
3570
+ This ID is used to authenticate API requests and associate them with a specific application.
3571
+ - |-
3572
+ ## IMPORTANT NOTES:
3573
+ - The appId is different from other eBay credentials such as client ID or client secret.
3574
+ - Using an invalid or expired appId will result in authentication errors.
3575
+ - Do not share your appId publicly to protect your application's security.
3576
+ - |-
3577
+ ## FIELD BEHAVIOR:
3578
+ - Must be included in API requests to identify the calling application.
3579
+ - Typically a string consisting of alphanumeric characters.
3580
+ - Used to track usage and enforce rate limits for the application.
3581
+ - Required for accessing most eBay APIs.
3582
+ - |-
3583
+ The unique identifier assigned to an application registered with the eBay developer program.
3584
+ This ID is used to authenticate API requests and associate them with a specific application.
3585
+ - |-
3586
+ The unique identifier assigned to an application registered with the eBay developer program.
3587
+ This ID is used to authenticate API requests and associate them with a specific application.
3588
+ examples:
3589
+ - MyCompan-MyApp-PRD-1a2b3c4d5-6e7f8a9b
3590
+ - 12345678-1234-1234-1234-123456789abc
3591
+ - MyEbayAppID2024
3592
+ - APP-9876543210
3593
+ devId:
3594
+ type: string
3595
+ description: eBay developer ID from the eBay Developer Program.
3596
+ x-celigo-ai-guidance:
3597
+ - |-
3598
+ ## TECHNICAL DETAILS:
3599
+ - Typically a string of alphanumeric characters.
3600
+ - Assigned by eBay upon developer registration.
3601
+ - Used in API request headers or query parameters depending on the API endpoint.
3602
+ - Validated by eBay servers to authorize API access.
3603
+ - |-
3604
+ ## IMPORTANT NOTES:
3605
+ - The devId is distinct from other eBay identifiers such as appId, certId, or auth tokens.
3606
+ - Misuse or leakage of the devId can lead to unauthorized API access.
3607
+ - Changes to the devId require updating all applications using it.
3608
+ - Ensure compliance with eBay's developer policies when using the devId.
3609
+ - |-
3610
+ ## FIELD BEHAVIOR:
3611
+ - Must be included in API requests requiring developer authentication.
3612
+ - Used to identify the source of API calls.
3613
+ - Typically remains constant for a given developer or development team.
3614
+ - Should be kept confidential to prevent unauthorized use.
3615
+ - |-
3616
+ ## EXAMPLES:
3617
+ - "1234567890"
3618
+ - "dev_abcdef123456"
3619
+ - "9876543210"
3620
+ - |-
3621
+ ## DEPENDENCY CHAIN:
3622
+ - Often used alongside appId and certId for full API authentication.
3623
+ - May be required before obtaining OAuth tokens or other credentials.
3624
+ - Linked to developer account settings and permissions on eBay.
3625
+ - |-
3626
+ The unique identifier assigned to a developer or development team by eBay.
3627
+ This ID is used to authenticate and track API usage associated with the
3628
+ developer's applications.
3629
+ It ensures that API requests are properly attributed and helps manage access
3630
+ permissions and rate limits.
3631
+ - |-
3632
+ ## IMPLEMENTATION GUIDANCE:
3633
+ - Obtain the devId by registering as a developer on the eBay Developer Program portal.
3634
+ - Include the devId in all relevant API request headers or parameters as specified by eBay.
3635
+ - Store the devId securely in your application environment.
3636
+ - Do not expose the devId in client-side code or public repositories.
3637
+ - |-
3638
+ The unique identifier assigned to a developer or development team by eBay.
3639
+ This ID is used to authenticate and track API usage associated with the
3640
+ developer's applications.
3641
+ It ensures that API requests are properly attributed and helps manage access
3642
+ permissions and rate limits.
3643
+ - |-
3644
+ The unique identifier assigned to a developer or development team by eBay.
3645
+ This ID is used to authenticate and track API usage associated with the
3646
+ developer's applications.
3647
+ It ensures that API requests are properly attributed and helps manage access
3648
+ permissions and rate limits.
3649
+ examples:
3650
+ - 1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
3651
+ - '1234567890'
3652
+ - dev_abcdef123456
3653
+ - '9876543210'
3654
+ certId:
3655
+ type: string
3656
+ description: |-
3657
+ eBay certificate ID. Returned masked as `"******"`.
3658
+ Re-send that value on update to keep it; it is not preserved if omitted.
3659
+ x-celigo-ai-guidance:
3660
+ - |-
3661
+ Use the eBay certificate ID value for authentication;
3662
+ this is the value you provide to configure or update the iClient. integrator.io
3663
+ stores it encrypted at rest (for example as `certId_crypt`/`certId_salt` fields
3664
+ in the underlying model),
3665
+ and API responses typically return a masked value (e.g.,
3666
+ `"******"`) when a value is already set.
3667
+ - |-
3668
+ ## IMPLEMENTATION GUIDANCE:
3669
+ - Provide the plaintext certificate ID value here to set/update it.
3670
+ - To keep the existing value unchanged during an update, omit this field (or keep `"******"` as-is if returned).
3671
+ - |-
3672
+ Use the eBay certificate ID value for authentication;
3673
+ this is the value you provide to configure or update the iClient. integrator.io
3674
+ stores it encrypted at rest (for example as `certId_crypt`/`certId_salt` fields
3675
+ in the underlying model),
3676
+ and API responses typically return a masked value (e.g.,
3677
+ `"******"`) when a value is already set.
3678
+ - |-
3679
+ Use the eBay certificate ID value for authentication;
3680
+ this is the value you provide to configure or update the iClient. integrator.io
3681
+ stores it encrypted at rest (for example as `certId_crypt`/`certId_salt` fields
3682
+ in the underlying model),
3683
+ and API responses typically return a masked value (e.g.,
3684
+ `"******"`) when a value is already set.
3685
+ ruName:
3686
+ type: string
3687
+ description: |-
3688
+ eBay Redirect URL Name (RuName) — the auth redirect
3689
+ target registered in the eBay Developer Program.
3690
+ x-celigo-ai-guidance:
3691
+ - |-
3692
+ ## EXAMPLES:
3693
+ - "Электроника" (Electronics)
3694
+ - "Мода" (Fashion)
3695
+ - "Дом и сад" (Home and Garden)
3696
+ - |-
3697
+ The Russian name associated with the eBay entity,
3698
+ typically used for localization and display purposes in Russian-language contexts.
3699
+ This field contains the name as it should appear to Russian-speaking users,
3700
+ ensuring proper representation and cultural relevance.
3701
+ - |-
3702
+ ## TECHNICAL DETAILS:
3703
+ - Data type: string.
3704
+ - Character encoding: UTF-8.
3705
+ - Maximum length should conform to system constraints for name fields.
3706
+ - |-
3707
+ ## IMPORTANT NOTES:
3708
+ - This field is optional if the entity does not have a Russian localization.
3709
+ - Avoid transliterations; use proper Russian language terms.
3710
+ - Consistency with other localized names is important for user experience.
3711
+ - |-
3712
+ ## IMPLEMENTATION GUIDANCE:
3713
+ - Ensure the name is correctly translated and culturally appropriate.
3714
+ - Use Cyrillic characters as per Russian language standards.
3715
+ - Validate the string for encoding compatibility (UTF-8).
3716
+ - Update this field when the entity's Russian name changes.
3717
+ - |-
3718
+ ## DEPENDENCY CHAIN:
3719
+ - May depend on the primary name or English name for context.
3720
+ - Used in conjunction with other localized name fields for multi-language support.
3721
+ - |-
3722
+ ## FIELD BEHAVIOR:
3723
+ - Represents the localized name in Russian.
3724
+ - Used primarily for display in Russian language interfaces.
3725
+ - Should accurately reflect the entity's name in Russian script.
3726
+ - May be omitted if no Russian localization is available.
3727
+ - |-
3728
+ The Russian name associated with the eBay entity,
3729
+ typically used for localization and display purposes in Russian-language contexts.
3730
+ This field contains the name as it should appear to Russian-speaking users,
3731
+ ensuring proper representation and cultural relevance.
3732
+ - |-
3733
+ The Russian name associated with the eBay entity,
3734
+ typically used for localization and display purposes in Russian-language contexts.
3735
+ This field contains the name as it should appear to Russian-speaking users,
3736
+ ensuring proper representation and cultural relevance.
3737
+ examples:
3738
+ - My_Company-MyCompan-MyApp-abcdefgh
3739
+ - Электроника
3740
+ - Мода
3741
+ - Дом и сад
3742
+ amazonmws:
3743
+ type: object
3744
+ description: Amazon Marketplace Web Service (MWS) authentication credentials.
3745
+ x-celigo-ai-guidance:
3746
+ - |-
3747
+ ## IMPORTANT NOTES:
3748
+ - Amazon MWS is being succeeded by the Selling Partner API (SP-API); consider migration plans.
3749
+ - Credentials must be kept confidential to prevent unauthorized access.
3750
+ - API access is subject to Amazon's terms of service and usage policies.
3751
+ - Proper error handling is critical to manage API rate limits and service disruptions.
3752
+ - |-
3753
+ Configuration settings required to integrate with the Amazon Marketplace Web
3754
+ Service (Amazon MWS) API,
3755
+ enabling programmatic access to Amazon seller account data and operations.
3756
+ This includes credentials and parameters necessary for authentication,
3757
+ authorization, and interaction with various Amazon MWS endpoints.
3758
+ - |-
3759
+ ## EXAMPLES:
3760
+ - Access Key ID: "AKIAIOSFODNN7EXAMPLE"
3761
+ - Secret Access Key: "1234567890abcdef1234567890abcdef12345678"
3762
+ - Seller ID: "A1XEXAMPLE123"
3763
+ - MWS Auth Token: "amzn.mws.4ea38b7b-f563-7709-4bae-87aeaEXAMPLE"
3764
+ - |-
3765
+ ## FIELD BEHAVIOR:
3766
+ - Contains all necessary authentication credentials such as Access Key ID, Secret Access Key, Seller ID, and MWS Auth Token.
3767
+ - May include configuration options like marketplace IDs, region settings, and API version.
3768
+ - Used to establish secure and authorized communication with Amazon MWS services.
3769
+ - Typically required for operations such as order retrieval, inventory management, and report generation.
3770
+ - |-
3771
+ ## TECHNICAL DETAILS:
3772
+ - Uses RESTful API calls with XML or JSON payloads.
3773
+ - Authentication is based on AWS Signature Version 2 or 4.
3774
+ - Supports multiple API sections including Orders, Reports, Feeds, and Products.
3775
+ - Requires timestamp synchronization to prevent request rejection.
3776
+ - |-
3777
+ ## DEPENDENCY CHAIN:
3778
+ - Requires valid Amazon seller account with MWS access enabled.
3779
+ - Dependent on network connectivity to Amazon MWS endpoints.
3780
+ - May depend on other configuration properties such as marketplace identifiers.
3781
+ - |-
3782
+ ## IMPLEMENTATION GUIDANCE:
3783
+ - Ensure all credentials are stored securely and transmitted over encrypted channels.
3784
+ - Validate the presence and correctness of all required fields before attempting API calls.
3785
+ - Support refreshing or updating credentials as needed to maintain uninterrupted access.
3786
+ - Handle error responses gracefully, including authentication failures or permission issues.
3787
+ - Follow Amazon MWS best practices and rate limits to avoid throttling.
3788
+ - |-
3789
+ Configuration settings required to integrate with the Amazon Marketplace Web
3790
+ Service (Amazon MWS) API,
3791
+ enabling programmatic access to Amazon seller account data and operations.
3792
+ This includes credentials and parameters necessary for authentication,
3793
+ authorization, and interaction with various Amazon MWS endpoints.
3794
+ - |-
3795
+ Configuration settings required to integrate with the Amazon Marketplace Web
3796
+ Service (Amazon MWS) API,
3797
+ enabling programmatic access to Amazon seller account data and operations.
3798
+ This includes credentials and parameters necessary for authentication,
3799
+ authorization, and interaction with various Amazon MWS endpoints.
3800
+ properties:
3801
+ accessKeyId:
3802
+ type: string
3803
+ description: AWS access key ID for MWS API requests.
3804
+ x-celigo-ai-guidance:
3805
+ - |-
3806
+ ## TECHNICAL DETAILS:
3807
+ - Format: 20-character alphanumeric string.
3808
+ - Used in the AWS Signature Version 2 or 4 signing process.
3809
+ - Included in the HTTP headers or query parameters of API requests.
3810
+ - Validated by Amazon MWS servers to authorize API calls.
3811
+ - |-
3812
+ ## DEPENDENCY CHAIN:
3813
+ - Requires a corresponding Secret Access Key for request signing.
3814
+ - Must be associated with an AWS IAM user or role with Amazon MWS permissions.
3815
+ - Used alongside other credentials such as Seller ID and MWS Auth Token for full API access.
3816
+ - |-
3817
+ ## EXAMPLES:
3818
+ - "AKIAIOSFODNN7EXAMPLE"
3819
+ - "ABCD1234EFGH5678IJKL"
3820
+ - "A1B2C3D4E5F6G7H8I9J0"
3821
+ - |-
3822
+ ## IMPORTANT NOTES:
3823
+ - The Access Key ID alone is insufficient for authentication; it must be paired with the Secret Access Key.
3824
+ - Exposure of the Access Key ID and Secret Access Key can lead to unauthorized access and potential data breaches.
3825
+ - If compromised, immediately revoke and regenerate the keys via the AWS console.
3826
+ - Access Key IDs are case-sensitive.
3827
+ - |-
3828
+ ## IMPLEMENTATION GUIDANCE:
3829
+ - Retrieve the Access Key ID from your AWS Management Console or Amazon MWS developer account.
3830
+ - Ensure the Access Key ID corresponds to the correct AWS user with appropriate permissions.
3831
+ - Do not hard-code the key in publicly accessible code repositories.
3832
+ - Rotate keys periodically to maintain security best practices.
3833
+ - |-
3834
+ ## FIELD BEHAVIOR:
3835
+ - Must be a valid, active Access Key ID issued by Amazon.
3836
+ - Used in conjunction with the Secret Access Key to sign API requests.
3837
+ - Should be kept confidential to prevent unauthorized access.
3838
+ - Typically a 20-character alphanumeric string.
3839
+ - |-
3840
+ The Access Key ID is a unique identifier assigned to your Amazon MWS
3841
+ (Marketplace Web Service) account,
3842
+ used to authenticate API requests.
3843
+ It acts as a public credential that, together with the Secret Access Key,
3844
+ allows secure access to Amazon MWS services.
3845
+ This key is essential for programmatic interaction with Amazon's seller APIs,
3846
+ enabling operations such as order retrieval, inventory management,
3847
+ and report generation.
3848
+ - |-
3849
+ The Access Key ID is a unique identifier assigned to your Amazon MWS
3850
+ (Marketplace Web Service) account,
3851
+ used to authenticate API requests.
3852
+ It acts as a public credential that, together with the Secret Access Key,
3853
+ allows secure access to Amazon MWS services.
3854
+ This key is essential for programmatic interaction with Amazon's seller APIs,
3855
+ enabling operations such as order retrieval, inventory management,
3856
+ and report generation.
3857
+ - |-
3858
+ The Access Key ID is a unique identifier assigned to your Amazon MWS
3859
+ (Marketplace Web Service) account,
3860
+ used to authenticate API requests.
3861
+ It acts as a public credential that, together with the Secret Access Key,
3862
+ allows secure access to Amazon MWS services.
3863
+ This key is essential for programmatic interaction with Amazon's seller APIs,
3864
+ enabling operations such as order retrieval, inventory management,
3865
+ and report generation.
3866
+ examples:
3867
+ - AKIAIOSFODNN7EXAMPLE
3868
+ - ABCD1234EFGH5678IJKL
3869
+ - A1B2C3D4E5F6G7H8I9J0
3870
+ secretKey:
3871
+ type: string
3872
+ description: |-
3873
+ AWS secret key. Returned masked as `"******"`.
3874
+ Re-send that value on update to keep it; it is not preserved if omitted.
3875
+ x-celigo-ai-guidance:
3876
+ - |-
3877
+ Use the Amazon MWS secret key value for authentication;
3878
+ provide this value to configure or update the iClient.
3879
+ Internally,
3880
+ integrator.io stores it encrypted at rest (for example as
3881
+ `secretKey_crypt`/`secretKey_salt` fields in the underlying model),
3882
+ and API responses typically return a masked value (e.g.,
3883
+ `"******"`) when a value is already set.
3884
+ - |-
3885
+ ## IMPLEMENTATION GUIDANCE:
3886
+ - Provide the plaintext secret key value here to set/update it.
3887
+ - To keep the existing value unchanged during an update, omit this field (or keep `"******"` as-is if returned).
3888
+ - |-
3889
+ Use the Amazon MWS secret key value for authentication;
3890
+ provide this value to configure or update the iClient.
3891
+ Internally,
3892
+ integrator.io stores it encrypted at rest (for example as
3893
+ `secretKey_crypt`/`secretKey_salt` fields in the underlying model),
3894
+ and API responses typically return a masked value (e.g.,
3895
+ `"******"`) when a value is already set.
3896
+ - |-
3897
+ Use the Amazon MWS secret key value for authentication;
3898
+ provide this value to configure or update the iClient.
3899
+ Internally,
3900
+ integrator.io stores it encrypted at rest (for example as
3901
+ `secretKey_crypt`/`secretKey_salt` fields in the underlying model),
3902
+ and API responses typically return a masked value (e.g.,
3903
+ `"******"`) when a value is already set.
3904
+ azureserviceprincipal:
3905
+ type: object
3906
+ description: |-
3907
+ Azure AD service principal credentials. Required when `provider`
3908
+ is `azureserviceprincipal`.
3909
+ required:
3910
+ - clientId
3911
+ - tenantId
3912
+ properties:
3913
+ authMethod:
3914
+ type: string
3915
+ enum:
3916
+ - client-secret
3917
+ - certificate
3918
+ default: client-secret
3919
+ x-enumDescriptions:
3920
+ client-secret: Authenticate with a client secret (`clientSecret`).
3921
+ certificate: Authenticate with a PEM certificate + private key (`certificate`).
3922
+ description: |-
3923
+ Which credential the service principal presents. Defaults to
3924
+ `client-secret` when omitted. Each method rejects the other
3925
+ method's credential fields on save.
3926
+ clientId:
3927
+ type: string
3928
+ description: Azure AD application (client) ID.
3929
+ examples:
3930
+ - a1b2c3d4-e5f6-7890-abcd-ef1234567890
3931
+ clientSecret:
3932
+ type: string
3933
+ description: |-
3934
+ Azure AD client secret. Required when `authMethod` is
3935
+ `client-secret` (or omitted). Returned masked as `"******"`.
3936
+ Re-send that value on update to keep it; it is not preserved if omitted.
3937
+ certificate:
3938
+ type: string
3939
+ description: |-
3940
+ PEM bundle (certificate + private key) for certificate auth.
3941
+ Required when `authMethod` is `certificate`; rejected under
3942
+ `client-secret`. Maximum 20 KiB of PEM text. Returned masked.
3943
+ x-celigo-ai-guidance:
3944
+ - |-
3945
+ If the PEM's private key is encrypted (BEGIN ENCRYPTED PRIVATE
3946
+ KEY / Proc-Type 4,ENCRYPTED), certificatePassword is required;
3947
+ if it is unencrypted, sending certificatePassword is rejected.
3948
+ certificatePassword:
3949
+ type: string
3950
+ description: |-
3951
+ Passphrase for an encrypted private key inside `certificate`.
3952
+ Required exactly when the PEM's key is encrypted; rejected when
3953
+ it is not. Maximum 256 bytes. Returned masked.
3954
+ tenantId:
3955
+ type: string
3956
+ description: Azure AD tenant (directory) ID.
3957
+ examples:
3958
+ - f0e1d2c3-b4a5-6789-0abc-def012345678
3959
+ googleserviceaccount:
3960
+ type: object
3961
+ description: |-
3962
+ Google Cloud service-account credentials. Required when `provider` is
3963
+ `googleserviceaccount`. Send the raw JSON key file in
3964
+ `serviceAccountJSON`; the server parses out `project_id`,
3965
+ `client_email`, and `private_key` and stores them (the private key
3966
+ encrypted). Responses return only `clientEmail`.
3967
+ properties:
3968
+ serviceAccountJSON:
3969
+ type: string
3970
+ writeOnly: true
3971
+ description: |-
3972
+ Full Google service-account key file as a JSON string. Must parse
3973
+ as JSON and contain `project_id`, `client_email`, and a valid PEM
3974
+ `private_key` — otherwise the save fails with
3975
+ ICLIENT_GOOGLESERVICEACCOUNT_INVALID_JSON_KEY (or _INVALID_PEM
3976
+ when only the key material is malformed). On update, omitting it
3977
+ (or sending the mask) keeps the stored credentials.
3978
+ clientEmail:
3979
+ type: string
3980
+ readOnly: true
3981
+ description: Service-account email parsed from the key file — the only field echoed in responses.
3982
+ examples:
3983
+ - integration@my-gcs-project.iam.gserviceaccount.com
3984
+ awsIam:
3985
+ type: object
3986
+ description: |-
3987
+ AWS IAM cross-account role credentials. Required when `provider` is `awsIam`.
3988
+ Celigo assumes `roleArn` using `externalId` as the trust-policy external ID.
3989
+ required:
3990
+ - externalId
3991
+ properties:
3992
+ externalId:
3993
+ type: string
3994
+ description: |-
3995
+ External ID Celigo presents when assuming the role; must match the
3996
+ `sts:ExternalId` condition in the role's trust policy.
3997
+ examples:
3998
+ - celigo-7f3a9c2e1b
3999
+ roleArn:
4000
+ type: string
4001
+ description: ARN of the AWS IAM role to assume for cross-account access.
4002
+ examples:
4003
+ - arn:aws:iam::123456789012:role/celigo-integration
4004
+ jwt:
4005
+ type: object
4006
+ description: |-
4007
+ JWT assertion configuration. Used when `enableJWT` is true to
4008
+ generate a signed JWT for inclusion in OAuth token requests via
4009
+ `{{{iClient.jwt.token}}}`.
4010
+ x-celigo-ai-guidance:
4011
+ - |-
4012
+ ## IMPLEMENTATION GUIDANCE:
4013
+ - Validate the JWT on the server side to ensure it is properly signed and not expired.
4014
+ - Use secure algorithms (e.g., RS256 or HS256) for signing the token.
4015
+ - Store sensitive information in the payload with caution, as JWTs can be decoded by clients.
4016
+ - Refresh tokens should be used to obtain new JWTs when the current one expires.
4017
+ - |-
4018
+ ## FIELD BEHAVIOR:
4019
+ - Must be a valid JWT string following the standard format: header.payload.signature.
4020
+ - Used to authenticate API requests and authorize access to specific endpoints.
4021
+ - Typically included in the Authorization header as a Bearer token.
4022
+ - Should have an expiration time to enhance security.
4023
+ - |-
4024
+ A JSON Web Token (JWT) used for securely transmitting information between
4025
+ parties as a JSON object.
4026
+ This token is typically used for authentication and authorization purposes,
4027
+ ensuring that the client has valid credentials to access protected resources.
4028
+ The JWT contains encoded header, payload,
4029
+ and signature sections that verify the token's integrity and authenticity.
4030
+ - |-
4031
+ ## IMPORTANT NOTES:
4032
+ - JWTs should be transmitted over secure channels (HTTPS) to prevent interception.
4033
+ - Do not store JWTs in insecure storage locations on the client side (e.g., localStorage) to avoid XSS attacks.
4034
+ - Always verify the token's signature and claims before granting access.
4035
+ - Be aware of token expiration and implement proper handling for expired tokens.
4036
+ - |-
4037
+ ## EXAMPLES:
4038
+ - eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
4039
+ - eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJleGFtcGxlLmNvbSIsInN1YiI6IjEyMzQ1Njc4OTAiLCJleHAiOjE2MjQ2MjQwMDB9.DQABCD1234abcd5678efgh9012ijkl3456mnop7890qrstuv
4040
+ - |-
4041
+ ## DEPENDENCY CHAIN:
4042
+ - Depends on the authentication mechanism generating the JWT.
4043
+ - Requires a
4044
+ - |-
4045
+ A JSON Web Token (JWT) used for securely transmitting information between
4046
+ parties as a JSON object.
4047
+ This token is typically used for authentication and authorization purposes,
4048
+ ensuring that the client has valid credentials to access protected resources.
4049
+ The JWT contains encoded header, payload,
4050
+ and signature sections that verify the token's integrity and authenticity.
4051
+ - |-
4052
+ A JSON Web Token (JWT) used for securely transmitting information between
4053
+ parties as a JSON object.
4054
+ This token is typically used for authentication and authorization purposes,
4055
+ ensuring that the client has valid credentials to access protected resources.
4056
+ The JWT contains encoded header, payload,
4057
+ and signature sections that verify the token's integrity and authenticity.
4058
+ properties:
4059
+ signatureMethod:
4060
+ type: string
4061
+ enum:
4062
+ - hmac-sha256
4063
+ - hmac-sha384
4064
+ - hmac-sha512
4065
+ - rsa-sha256
4066
+ - rsa-sha384
4067
+ - rsa-sha512
4068
+ - es256
4069
+ - es384
4070
+ - es512
4071
+ - ps256
4072
+ - ps384
4073
+ - ps512
4074
+ x-enumDescriptions:
4075
+ hmac-sha256: HMAC with SHA-256 (symmetric); signs with secret.
4076
+ hmac-sha384: HMAC with SHA-384 (symmetric); signs with secret.
4077
+ hmac-sha512: HMAC with SHA-512 (symmetric); signs with secret.
4078
+ rsa-sha256: RSA with SHA-256 (asymmetric); signs with privateKey.
4079
+ rsa-sha384: RSA with SHA-384 (asymmetric); signs with privateKey.
4080
+ rsa-sha512: RSA with SHA-512 (asymmetric); signs with privateKey.
4081
+ es256: ECDSA with P-256 and SHA-256 (asymmetric); signs with privateKey.
4082
+ es384: ECDSA with P-384 and SHA-384 (asymmetric); signs with privateKey.
4083
+ es512: ECDSA with P-521 and SHA-512 (asymmetric); signs with privateKey.
4084
+ ps256: RSASSA-PSS with SHA-256 (asymmetric); signs with privateKey.
4085
+ ps384: RSASSA-PSS with SHA-384 (asymmetric); signs with privateKey.
4086
+ ps512: RSASSA-PSS with SHA-512 (asymmetric); signs with privateKey.
4087
+ description: |-
4088
+ Algorithm used to sign the JWT. HMAC methods sign with `secret`;
4089
+ RSA/ECDSA/PSS methods sign with `privateKey`.
4090
+ payload:
4091
+ description: |-
4092
+ JWT payload claims. Can be a JSON object or a stringified
4093
+ JSON template with Handlebars expressions.
4094
+ headers:
4095
+ description: |-
4096
+ JWT header claims. Can be a JSON object or a stringified
4097
+ JSON template with Handlebars expressions.
4098
+ privateKey:
4099
+ type: string
4100
+ description: |-
4101
+ Private key for signing the JWT. Returned masked as
4102
+ `"******"`. Re-send that value on update to keep it; it is not preserved if omitted.
4103
+ token:
4104
+ type: string
4105
+ readOnly: true
4106
+ description: |-
4107
+ Server-computed signed JWT token. Returned masked as
4108
+ `"******"` in responses.
4109
+ secret:
4110
+ type: string
4111
+ description: |-
4112
+ Shared secret for HMAC-based JWT signing (e.g. HS256).
4113
+ Returned masked as `"******"`. Re-send that value on update to
4114
+ keep it; it is not preserved if omitted.
4115
+ isSecretBase64Encoded:
4116
+ type: boolean
4117
+ description: When true, the `secret` value is Base64-encoded.
4118
+ ResourceResponse:
4119
+ type: object
4120
+ description: Response
4121
+ x-celigo-ai-guidance:
4122
+ - Core response fields shared by all Celigo resources
4123
+ properties:
4124
+ _id:
4125
+ type: string
4126
+ format: objectId
4127
+ readOnly: true
4128
+ description: Unique identifier for the resource. Format is a 24-character hexadecimal string.
4129
+ x-celigo-ai-guidance:
4130
+ - |-
4131
+ The _id is used in:
4132
+ - API endpoints that operate on a specific resource (e.g., GET, PUT, DELETE)
4133
+ - References from other resources (e.g., flows that use this resource)
4134
+ - Job history and error tracking
4135
+ examples:
4136
+ - 5f8d43a1b9e5a80011a35f2c
4137
+ createdAt:
4138
+ type: string
4139
+ format: date-time
4140
+ readOnly: true
4141
+ description: Timestamp when the resource was created. Set automatically and cannot be modified.
4142
+ x-celigo-ai-guidance:
4143
+ - Recorded in ISO 8601 with a UTC timezone (Z suffix).
4144
+ examples:
4145
+ - '2023-04-01T09:15:32Z'
4146
+ lastModified:
4147
+ type: string
4148
+ format: date-time
4149
+ readOnly: true
4150
+ description: Timestamp when the resource was last updated. Changes whenever any property is modified.
4151
+ x-celigo-ai-guidance:
4152
+ - Recorded in ISO 8601 with a UTC timezone (Z suffix); always equal to or later than `createdAt`.
4153
+ examples:
4154
+ - '2023-04-15T14:30:15Z'
4155
+ deletedAt:
4156
+ type:
4157
+ - string
4158
+ - 'null'
4159
+ format: date-time
4160
+ readOnly: true
4161
+ description: Timestamp when the resource was soft-deleted. When null or absent, the resource is active.
4162
+ x-celigo-ai-guidance:
4163
+ - Non-null means the resource is soft-deleted (in the recycle bin) — recoverable within the retention period before permanent removal.
4164
+ examples:
4165
+ - '2023-05-20T11:45:32Z'
4166
+ required:
4167
+ - _id
4168
+ IAResourceResponse:
4169
+ type: object
4170
+ description: Integration app response fields for resources that are part of integration apps
4171
+ properties:
4172
+ _integrationId:
4173
+ type: string
4174
+ format: objectId
4175
+ x-celigo-refModel: integrations
4176
+ readOnly: true
4177
+ description: |
4178
+ Reference to the specific integration instance that contains this resource.
4179
+
4180
+ This field is only populated for resources that are part of an integration app
4181
+ installation. It contains the unique identifier (_id) of the integration
4182
+ resource that was installed in the account.
4183
+
4184
+ The integration instance represents a specific installed instance of an
4185
+ integration app, with its own configuration, settings, and runtime environment.
4186
+
4187
+ This reference enables:
4188
+ - Tracing the resource back to its parent integration instance
4189
+ - Permission and access control based on integration ownership
4190
+ - Lifecycle management (enabling/disabling, updating, or uninstalling)
4191
+ examples:
4192
+ - 5f9a7b2c3d4e5f6a7b8c9d0e
4193
+ _connectorId:
4194
+ type: string
4195
+ format: objectId
4196
+ x-celigo-refModel: connectors
4197
+ readOnly: true
4198
+ description: |
4199
+ Reference to the integration app that defines this resource.
4200
+
4201
+ This field is only populated for resources that are part of an integration app.
4202
+ It contains the unique identifier (_id) of the integration app (connector)
4203
+ that defines the structure, behavior, and templates for this resource.
4204
+
4205
+ The integration app is the published template that can be installed
4206
+ multiple times across different accounts, with each installation creating
4207
+ a separate integration instance (referenced by _integrationId).
4208
+
4209
+ This reference enables:
4210
+ - Identifying the source integration app for this resource
4211
+ - Determining which template version is being used
4212
+ - Linking to documentation, support, and marketplace information
4213
+ examples:
4214
+ - 5e8d43a1b9e5a80011a35f1b
4215
+ x-celigo-ai-guidance:
4216
+ - |-
4217
+ Read-only connector (Integration App template) reference; present only on
4218
+ connector-owned resources. Never set or modify it when authoring resources.
4219
+ iClient:
4220
+ type: object
4221
+ required:
4222
+ - _id
4223
+ - provider
4224
+ - lastModified
4225
+ description: |-
4226
+ iClient object as returned by the API. Includes all request fields
4227
+ plus server-managed metadata. `name` is optional on create and is
4228
+ omitted from GET responses when the iClient was created without
4229
+ one (the create response echoes it as `null`).
4230
+ allOf:
4231
+ - $ref: '#/components/schemas/IClientBase'
4232
+ - $ref: '#/components/schemas/ResourceResponse'
4233
+ - $ref: '#/components/schemas/IAResourceResponse'
4234
+ Request:
4235
+ type: object
4236
+ description: |-
4237
+ iClient configuration. The shape varies by `provider` — each provider
4238
+ requires its own credential sub-object (`oauth2`, `netsuite`,
4239
+ `salesforce`, `ebay`, `amazonmws`, `azureserviceprincipal`).
4240
+ For `custom_oauth2`, credentials go in the `oauth2` sub-object.
4241
+ Secrets (`clientSecret`, `privateKey`, etc.) are returned masked
4242
+ as `"******"`. On update, re-send that masked value to keep the
4243
+ existing secret; secrets are not preserved if omitted.
4244
+ required:
4245
+ - provider
4246
+ allOf:
4247
+ - $ref: '#/components/schemas/IClientBase'
4248
+ Error:
4249
+ type: object
4250
+ description: Standard error response envelope returned by integrator.io APIs.
4251
+ properties:
4252
+ errors:
4253
+ type: array
4254
+ description: List of errors that occurred while processing the request.
4255
+ items:
4256
+ type: object
4257
+ properties:
4258
+ code:
4259
+ oneOf:
4260
+ - type: string
4261
+ - type: integer
4262
+ description: |-
4263
+ Machine-readable error code. Usually a string like
4264
+ `invalid_ref`, `missing_required_field`, or `unauthorized`;
4265
+ may be an **integer** when the error mirrors an upstream HTTP
4266
+ status (e.g. `500`) — most commonly returned by connection-ping
4267
+ and adaptor-proxy responses.
4268
+ message:
4269
+ type: string
4270
+ description: Human-readable description of the error.
4271
+ field:
4272
+ type: string
4273
+ description: |-
4274
+ Optional pointer to the document field that caused the error.
4275
+ Used by structural validation errors (`missing_required_field`,
4276
+ `invalid_ref`) to indicate which field is at fault
4277
+ (e.g. `_id`, `type`, `http.baseURI`).
4278
+ source:
4279
+ type: string
4280
+ description: |-
4281
+ Optional origin layer for the error — e.g. `application` when
4282
+ the error came from the remote system the adaptor called,
4283
+ `connector` when the adaptor itself rejected the request.
4284
+ required:
4285
+ - message
4286
+ required:
4287
+ - errors
4288
+ DependencyEntry:
4289
+ type: object
4290
+ description: A single resource that depends on the queried resource.
4291
+ properties:
4292
+ id:
4293
+ type: string
4294
+ description: Unique identifier of the dependent resource.
4295
+ examples:
4296
+ - 61f92026dd053843b5d72350
4297
+ name:
4298
+ type: string
4299
+ description: Display name of the dependent resource.
4300
+ examples:
4301
+ - Import Orders to NetSuite
4302
+ paths:
4303
+ type: array
4304
+ description: |-
4305
+ Dot-notation paths within the dependent resource that reference
4306
+ the target resource. `[*]` denotes array elements.
4307
+ items:
4308
+ type: string
4309
+ examples:
4310
+ - - hooks.preSavePage._scriptId
4311
+ accessLevel:
4312
+ type: string
4313
+ description: The caller's access level on the dependent resource.
4314
+ examples:
4315
+ - manage
4316
+ dependencyIds:
4317
+ type: object
4318
+ description: |-
4319
+ Map of resource types to arrays of IDs that this dependent
4320
+ resource references on the target. Keys are singular or plural
4321
+ resource type strings; values are arrays of ID strings.
4322
+ additionalProperties:
4323
+ type: array
4324
+ items:
4325
+ type: string
4326
+ example:
4327
+ script:
4328
+ - 64ff4b21612a134bd2f45531
4329
+ required:
4330
+ - id
4331
+ - name
4332
+ - paths
4333
+ - accessLevel
4334
+ - dependencyIds
4335
+ DependencyResponse:
4336
+ type: object
4337
+ description: |
4338
+ Map of dependent-resource types to arrays of dependency entries.
4339
+ Keys are plural resource type strings (e.g. `flows`, `imports`,
4340
+ `connections`). An empty object `{}` means no dependents.
4341
+ additionalProperties:
4342
+ type: array
4343
+ items:
4344
+ $ref: '#/components/schemas/DependencyEntry'
4345
+ example:
4346
+ exports:
4347
+ - id: 64ff4b21612a134bd2f45534
4348
+ name: Bank FTP Export
4349
+ paths:
4350
+ - hooks.preSavePage._scriptId
4351
+ accessLevel: manage
4352
+ dependencyIds:
4353
+ script:
4354
+ - 64ff4b21612a134bd2f45531
4355
+ flows:
4356
+ - id: 64ff4b22612a134bd2f45538
4357
+ name: CAMT-053 to Celigo CAM Format
4358
+ paths:
4359
+ - pageGenerators[*]._exportId
4360
+ accessLevel: manage
4361
+ dependencyIds:
4362
+ export:
4363
+ - 64ff4b21612a134bd2f45534
4364
+ responses:
4365
+ 401-unauthorized:
4366
+ description: |-
4367
+ Unauthorized. The request lacks a valid bearer token, or the provided token
4368
+ failed to authenticate.
4369
+
4370
+ Note: the 401 response is produced by the auth middleware **before** the
4371
+ request reaches the endpoint handler, so it does **not** follow the
4372
+ standard `{errors: [...]}` envelope. Instead the body is a bare
4373
+ `{message: string}` object with no `code`, no `errors` array. Callers
4374
+ handling 401s should key off the HTTP status and the `message` string,
4375
+ not try to destructure an `errors[]`.
4376
+ content:
4377
+ application/json:
4378
+ schema:
4379
+ type: object
4380
+ properties:
4381
+ message:
4382
+ type: string
4383
+ description: |-
4384
+ Human-readable description of the auth failure. Known values:
4385
+ - `"Unauthorized"` — no `Authorization` header on the request.
4386
+ - `"Bearer Authentication Failed"` — header present but token
4387
+ is invalid, revoked, or expired.
4388
+ required:
4389
+ - message
4390
+ examples:
4391
+ missing_token:
4392
+ summary: No Authorization header sent
4393
+ value:
4394
+ message: Unauthorized
4395
+ invalid_token:
4396
+ summary: Bearer token invalid or revoked
4397
+ value:
4398
+ message: Bearer Authentication Failed
4399
+ 400-bad-request:
4400
+ description: |
4401
+ Bad request. The server could not understand the request because of malformed syntax or invalid parameters.
4402
+ content:
4403
+ application/json:
4404
+ schema:
4405
+ $ref: '#/components/schemas/Error'
4406
+ examples:
4407
+ default:
4408
+ value:
4409
+ errors:
4410
+ - code: invalid_request
4411
+ message: The request body failed validation.
4412
+ 403-forbidden:
4413
+ description: |
4414
+ Forbidden. The authenticated caller does not have permission to perform this operation.
4415
+ content:
4416
+ application/json:
4417
+ schema:
4418
+ $ref: '#/components/schemas/Error'
4419
+ examples:
4420
+ default:
4421
+ value:
4422
+ errors:
4423
+ - code: forbidden
4424
+ message: You do not have permission to access this resource.
4425
+ 422-unprocessable-entity:
4426
+ description: |
4427
+ Unprocessable entity. The request was well-formed but was unable to be followed due to semantic errors.
4428
+ content:
4429
+ application/json:
4430
+ schema:
4431
+ $ref: '#/components/schemas/Error'
4432
+ examples:
4433
+ default:
4434
+ value:
4435
+ errors:
4436
+ - code: unprocessable_entity
4437
+ message: The request could not be processed due to a semantic error.
4438
+ 404-not-found:
4439
+ description: |
4440
+ Not found. The requested resource does not exist or is not visible to the caller.
4441
+ content:
4442
+ application/json:
4443
+ schema:
4444
+ $ref: '#/components/schemas/Error'
4445
+ examples:
4446
+ default:
4447
+ value:
4448
+ errors:
4449
+ - code: not_found
4450
+ message: The requested resource was not found.
4451
+ x-enable-proxy: true
4452
+ x-internal: false