@celigo/api-specs 0.2.214 → 0.2.216
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-agent.yml +171 -55
- package/dist/api.yml +39 -18
- package/dist/asynchelper.yml +39 -18
- package/dist/export.yml +72 -21
- package/dist/flow.yml +37 -15
- package/dist/guardrail.yml +55 -17
- package/dist/import.yml +202 -57
- package/dist/processor.yml +31 -3
- package/dist/subscription.yml +13 -7
- package/dist/tool.yml +235 -60
- package/package.json +1 -1
- package/schemas.json +353 -339
package/dist/export.yml
CHANGED
|
@@ -15412,12 +15412,16 @@ components:
|
|
|
15412
15412
|
- |-
|
|
15413
15413
|
On a grouped record (the export groups rows, so the record is an
|
|
15414
15414
|
array) only `create` can author output — build it from the rows with
|
|
15415
|
-
`$[0].field`, `$[*].field`, or a `buildArrayHelper` over `$[*]
|
|
15415
|
+
`$[0].field`, `$[*].field`, or a `buildArrayHelper` over `$[*]`
|
|
15416
|
+
(`$.rows[0].field` and `$.rows[*]` with `inputContext: envelope`).
|
|
15416
15417
|
`modify` has no object to overlay onto an array: the record passes
|
|
15417
|
-
through untouched and the processor reports success.
|
|
15418
|
-
|
|
15419
|
-
|
|
15420
|
-
|
|
15418
|
+
through untouched and the processor reports success. Paths written
|
|
15419
|
+
for one object record (`$.field`, an entry `$.lines[*]`) resolve
|
|
15420
|
+
nothing there, so `create` returns `{}` for each record, also with
|
|
15421
|
+
no error (live, 2026-10-30). Either mode reshapes the inside of one
|
|
15422
|
+
record; neither changes how many records the page carries (that is
|
|
15423
|
+
the export's `preSavePage` hook) or whether the export groups at all
|
|
15424
|
+
(that is its grouping setting).
|
|
15421
15425
|
examples:
|
|
15422
15426
|
- create
|
|
15423
15427
|
- modify
|
|
@@ -15482,8 +15486,8 @@ components:
|
|
|
15482
15486
|
- record
|
|
15483
15487
|
- envelope
|
|
15484
15488
|
x-enumDescriptions:
|
|
15485
|
-
record: The transform processor evaluates `mappings[].extract` JSONPath against the flat record itself (`$.field`, no `record.` segment) — the default when absent.
|
|
15486
|
-
envelope: The transform processor evaluates JSONPath against the wrapped runtime envelope `{record, job, testMode, settings, headers, queryParams}` (file-provider steps also carry `fileMeta`) — record fields need the `record.` segment (`$.record.field`), while `headers` and `queryParams` sit beside `record` (`$.headers['X-Id']`, `$.queryParams.src`).
|
|
15489
|
+
record: The transform processor evaluates `mappings[].extract` JSONPath against the flat record itself (`$.field`, no `record.` segment; a grouped record is the array of rows, `$[0].field`) — the default when absent.
|
|
15490
|
+
envelope: The transform processor evaluates JSONPath against the wrapped runtime envelope `{record, job, testMode, settings, headers, queryParams}` (file-provider steps also carry `fileMeta`) — record fields need the `record.` segment (`$.record.field`), and a grouped record sits under `rows` instead (`$.rows[0].field`), while `headers` and `queryParams` sit beside `record` (`$.headers['X-Id']`, `$.queryParams.src`).
|
|
15487
15491
|
description: |
|
|
15488
15492
|
Controls the JSON shape the transformTwoDotZero processor
|
|
15489
15493
|
evaluates `mappings[].extract` JSONPath values against at
|
|
@@ -15499,24 +15503,38 @@ components:
|
|
|
15499
15503
|
processor sees the FLAT record as its evaluation root.
|
|
15500
15504
|
`mappings[].extract` JSONPath MUST anchor directly at
|
|
15501
15505
|
`$` with NO `record.` segment — e.g. `"$.orderId"`,
|
|
15502
|
-
`"$.customer.email"
|
|
15506
|
+
`"$.customer.email"` on an object record, `"$[0].orderId"`
|
|
15507
|
+
on a grouped one; PLACEHOLDER extracts use
|
|
15503
15508
|
`"$.PLACEHOLDER_<field>"`.
|
|
15504
15509
|
This is the dominant Celigo idiom and the right choice for new transforms.
|
|
15505
15510
|
- `envelope`: the processor sees a wrapped object
|
|
15506
15511
|
`{record: {...}, job, testMode, settings, headers,
|
|
15507
15512
|
queryParams}` (plus `fileMeta` on file-provider steps).
|
|
15508
15513
|
`mappings[].extract` JSONPath MUST include the
|
|
15509
|
-
`record.` segment for record fields — e.g.
|
|
15510
|
-
`"$.record.orderId"
|
|
15514
|
+
`record.` segment for an object record's fields — e.g.
|
|
15515
|
+
`"$.record.orderId"`; a grouped record sits under `rows`
|
|
15516
|
+
instead (`"$.rows[0].orderId"`) — and reads `headers` and
|
|
15511
15517
|
`queryParams` beside it (`$.headers['X-Id']`);
|
|
15512
15518
|
PLACEHOLDER extracts use `"$.record.PLACEHOLDER_<field>"`.
|
|
15513
15519
|
Pick this only when the transform was authored against
|
|
15514
15520
|
the envelope shape on purpose.
|
|
15515
15521
|
- |-
|
|
15516
|
-
Handlebars expressions inside `extract`
|
|
15517
|
-
|
|
15518
|
-
|
|
15522
|
+
Handlebars expressions inside `extract` reference the
|
|
15523
|
+
`record` root on an object record (`{{record.field}}`,
|
|
15524
|
+
`{{dateFormat ... record.field}}`) and `rows` on a
|
|
15525
|
+
grouped one (`{{rows.0.field}}`), regardless of
|
|
15519
15526
|
`inputContext` — only JSONPath anchoring flips.
|
|
15527
|
+
- |-
|
|
15528
|
+
## Grouped records
|
|
15529
|
+
|
|
15530
|
+
When the export groups rows, each record is an array of
|
|
15531
|
+
rows. In `record` mode JSONPath roots at that array
|
|
15532
|
+
(`$[0].field`, `$[*]`); `envelope` binds it as `rows`,
|
|
15533
|
+
not `record` — `$.rows[0].field`, and an entry
|
|
15534
|
+
`$.rows[*]` whose children read `$.rows.field` — while
|
|
15535
|
+
`$.record[0].field` and `$.record[*]` resolve nothing,
|
|
15536
|
+
with no error (live, 2026-10-30). Handlebars extracts
|
|
15537
|
+
read it as `rows` in both modes (`{{rows.0.field}}`).
|
|
15520
15538
|
- |-
|
|
15521
15539
|
In `envelope` mode the output is still a bare record: a
|
|
15522
15540
|
`modify` transform returns the record with its mapped
|
|
@@ -15537,7 +15555,8 @@ components:
|
|
|
15537
15555
|
``mappings[].extract`` JSONPath values MUST anchor
|
|
15538
15556
|
directly at ``$`` with NO ``record.`` segment — for
|
|
15539
15557
|
example ``"$.orderId"`` or
|
|
15540
|
-
``"$.customer.email"
|
|
15558
|
+
``"$.customer.email"`` on an object record, and
|
|
15559
|
+
``"$[0].orderId"`` on a grouped one. PLACEHOLDER extracts use
|
|
15541
15560
|
``"$.PLACEHOLDER_<field>"``. This is the dominant
|
|
15542
15561
|
Celigo idiom and the right choice for new transforms.
|
|
15543
15562
|
|
|
@@ -15549,9 +15568,10 @@ components:
|
|
|
15549
15568
|
``record``) — the
|
|
15550
15569
|
same runtime-context envelope Handlebars / SQL /
|
|
15551
15570
|
GraphQL templates render against. ``mappings[].extract``
|
|
15552
|
-
JSONPath values for record fields MUST include the
|
|
15571
|
+
JSONPath values for an object record's fields MUST include the
|
|
15553
15572
|
``record.`` segment — for example ``"$.record.orderId"``
|
|
15554
|
-
or ``"$.record.customer.email"
|
|
15573
|
+
or ``"$.record.customer.email"``; a grouped record's rows
|
|
15574
|
+
sit under ``rows`` instead (``"$.rows[0].orderId"``) — while ``headers`` and
|
|
15555
15575
|
``queryParams`` are read beside it
|
|
15556
15576
|
(``"$.headers['X-Id']"``). PLACEHOLDER extracts
|
|
15557
15577
|
use ``"$.record.PLACEHOLDER_<field>"``. Pick this
|
|
@@ -15564,8 +15584,9 @@ components:
|
|
|
15564
15584
|
|
|
15565
15585
|
Handlebars expressions inside ``extract``
|
|
15566
15586
|
(``{{record.field}}``,
|
|
15567
|
-
``{{dateFormat ... record.field}}``, etc.)
|
|
15568
|
-
|
|
15587
|
+
``{{dateFormat ... record.field}}``, etc.) reference the
|
|
15588
|
+
runtime context's ``record`` root on an object record,
|
|
15589
|
+
and ``rows`` (``{{rows.0.field}}``) on a grouped one,
|
|
15569
15590
|
regardless of ``inputContext`` — the Handlebars runtime
|
|
15570
15591
|
always sees the wrapped envelope. Only JSONPath
|
|
15571
15592
|
behavior flips with this field.
|
|
@@ -16426,8 +16447,8 @@ components:
|
|
|
16426
16447
|
**Structure**
|
|
16427
16448
|
|
|
16428
16449
|
The mock output must follow the integrator.io canonical format, which consists of a
|
|
16429
|
-
`page_of_records` array
|
|
16430
|
-
property that contains the actual data fields
|
|
16450
|
+
`page_of_records` array of items. On an export that does not group rows, each item has a
|
|
16451
|
+
`record` property that contains the actual data fields:
|
|
16431
16452
|
|
|
16432
16453
|
```json
|
|
16433
16454
|
{
|
|
@@ -16444,6 +16465,19 @@ components:
|
|
|
16444
16465
|
}
|
|
16445
16466
|
```
|
|
16446
16467
|
|
|
16468
|
+
An export that groups rows (`groupByFields`) produces records that are arrays of rows, and
|
|
16469
|
+
each item then carries `rows` instead of `record`, holding the rows of one grouped record. A
|
|
16470
|
+
flow test run saves a grouped export's records in this form:
|
|
16471
|
+
|
|
16472
|
+
```json
|
|
16473
|
+
{
|
|
16474
|
+
"page_of_records": [
|
|
16475
|
+
{ "rows": [ { "field1": "value1" }, { "field1": "value2" } ] },
|
|
16476
|
+
...
|
|
16477
|
+
]
|
|
16478
|
+
}
|
|
16479
|
+
```
|
|
16480
|
+
|
|
16447
16481
|
**Usage**
|
|
16448
16482
|
|
|
16449
16483
|
In a flow test run, and for an upstream lookup during a page-processor preview
|
|
@@ -16476,7 +16510,8 @@ components:
|
|
|
16476
16510
|
|
|
16477
16511
|
- Maximum of 10 records
|
|
16478
16512
|
- Maximum size of 1 MB
|
|
16479
|
-
- Must follow the canonical
|
|
16513
|
+
- Must follow one of the canonical formats shown above: every item `{"record": {...}}`, or
|
|
16514
|
+
on a grouped export every item `{"rows": [...]}`
|
|
16480
16515
|
|
|
16481
16516
|
Mock output can be populated automatically from preview data (which is the parsed response,
|
|
16482
16517
|
before `transform` / `filter`) or entered manually.
|
|
@@ -16518,6 +16553,22 @@ components:
|
|
|
16518
16553
|
categories:
|
|
16519
16554
|
- Electronics
|
|
16520
16555
|
- Accessories
|
|
16556
|
+
rows:
|
|
16557
|
+
type: array
|
|
16558
|
+
description: |
|
|
16559
|
+
The rows of one grouped record, present instead of `record` when the export
|
|
16560
|
+
groups rows (`groupByFields`). Every item of a grouped export's mock carries
|
|
16561
|
+
`rows`.
|
|
16562
|
+
items:
|
|
16563
|
+
type: object
|
|
16564
|
+
additionalProperties: true
|
|
16565
|
+
example:
|
|
16566
|
+
- orderId: SO-1001
|
|
16567
|
+
sku: SKU-100
|
|
16568
|
+
quantity: 2
|
|
16569
|
+
- orderId: SO-1001
|
|
16570
|
+
sku: SKU-200
|
|
16571
|
+
quantity: 1
|
|
16521
16572
|
example:
|
|
16522
16573
|
page_of_records:
|
|
16523
16574
|
- record:
|
package/dist/flow.yml
CHANGED
|
@@ -2153,12 +2153,14 @@ paths:
|
|
|
2153
2153
|
|
|
2154
2154
|
The `data` field is the record as the failing stage held it: for an import-stage error
|
|
2155
2155
|
(`page_processor_import`) on an HTTP import, the record before the import's mappings, not the
|
|
2156
|
-
request the import sent; for a
|
|
2156
|
+
request the import sent; for a lookup's error (`page_processor_export`), the record as it reached
|
|
2157
|
+
the lookup; for a postResponseMap hook's error (`post_response_mapping`), the record
|
|
2157
2158
|
after the step's response mapping. Use `PUT .../{retryDataKey}/data` to mutate
|
|
2158
2159
|
the snapshot before retrying. Only errors with a `retryDataKey` expose this endpoint;
|
|
2159
2160
|
connection-class errors are rejected with `no_retrydata_found`. The `stage` field indicates
|
|
2160
2161
|
where the retry will resume: `page_processor_import` re-runs the import (most common, and where a
|
|
2161
|
-
postSubmit hook's errors are stored
|
|
2162
|
+
postSubmit hook's errors are stored — a retry writes again a record the destination accepted,
|
|
2163
|
+
and resends one whose refusal the hook reworded), `page_processor_export` re-runs the lookup,
|
|
2162
2164
|
`post_response_mapping` (a postResponseMap hook's error) resumes after the import from the stored
|
|
2163
2165
|
reply in `adaptorResponse`, sending nothing to the destination again and carrying the record on
|
|
2164
2166
|
to the flow's next steps, and `page_generator` means the error was upstream of the processor.
|
|
@@ -4342,6 +4344,10 @@ paths:
|
|
|
4342
4344
|
|
|
4343
4345
|
An empty object `{}` means no other resources depend on the target — this is also returned for a
|
|
4344
4346
|
well-formatted but nonexistent id.
|
|
4347
|
+
|
|
4348
|
+
A `flows` entry whose `paths` holds `_runNextFlowIds` is an upstream flow: its own
|
|
4349
|
+
`_runNextFlowIds` lists this flow, so this flow starts when a run of that one completes. The
|
|
4350
|
+
flows this flow starts are in its own `_runNextFlowIds`, not in this response.
|
|
4345
4351
|
parameters:
|
|
4346
4352
|
- name: _id
|
|
4347
4353
|
in: path
|
|
@@ -4364,7 +4370,7 @@ paths:
|
|
|
4364
4370
|
summary: No dependents (also returned for a nonexistent id)
|
|
4365
4371
|
value: {}
|
|
4366
4372
|
populated:
|
|
4367
|
-
summary: Another flow
|
|
4373
|
+
summary: Another flow starts this one when its run completes
|
|
4368
4374
|
value:
|
|
4369
4375
|
flows:
|
|
4370
4376
|
- id: 69f4b2cb95ec28be9ca1a88d
|
|
@@ -5847,9 +5853,11 @@ components:
|
|
|
5847
5853
|
- string
|
|
5848
5854
|
- 'null'
|
|
5849
5855
|
description: |-
|
|
5850
|
-
IANA timezone for the schedule (e.g. `America/New_York`).
|
|
5851
|
-
|
|
5852
|
-
|
|
5856
|
+
IANA timezone for the schedule (e.g. `America/New_York`). The flow's `schedule` and each
|
|
5857
|
+
page generator's own `schedule` are read in this timezone; a page generator has no
|
|
5858
|
+
timezone of its own. A flow saved without one stores none, and its schedule then runs in
|
|
5859
|
+
UTC when the account owner's profile has no time zone; per the Help Center's time zone
|
|
5860
|
+
precedence, it runs in the owner's profile time zone when the profile sets one.
|
|
5853
5861
|
examples:
|
|
5854
5862
|
- America/New_York
|
|
5855
5863
|
- Europe/London
|
|
@@ -6935,8 +6943,10 @@ components:
|
|
|
6935
6943
|
`application` covers the step's whole call to the external system, not only its answer:
|
|
6936
6944
|
besides errors the destination returned, it marks a request that never got an answer,
|
|
6937
6945
|
such as a URL template that failed to render (`handlebars_template_parse_error`) or a
|
|
6938
|
-
refused connection, so read `code` and `message` with it. `
|
|
6939
|
-
|
|
6946
|
+
refused connection, so read `code` and `message` with it. `post_submit_hook` marks an error
|
|
6947
|
+
a postSubmit hook added or reworded — a destination refusal included — while one the hook
|
|
6948
|
+
passes along unchanged keeps `application`, so it does not mean the destination accepted the
|
|
6949
|
+
record. `GET /v1/errors/filterMetadata` lists the source values the errors filter accepts.
|
|
6940
6950
|
examples:
|
|
6941
6951
|
- application
|
|
6942
6952
|
code:
|
|
@@ -7831,7 +7841,8 @@ components:
|
|
|
7831
7841
|
(an import's errors, a postSubmit hook's included) it is the incoming record, before the
|
|
7832
7842
|
import's mappings — not the request body the import sent or the response it got back — and a
|
|
7833
7843
|
retry maps it again with the import's current mappings, so a mapping fix reaches the retried
|
|
7834
|
-
record. At `
|
|
7844
|
+
record. At `page_processor_export` (a lookup's errors) it is the record as it reached the
|
|
7845
|
+
lookup. At `post_response_mapping` (a postResponseMap hook's error) it is the record after the
|
|
7835
7846
|
step's response mapping, with the mapped fields: a retry neither maps nor sends it again, and
|
|
7836
7847
|
the destination's reply is in `adaptorResponse`. Shape varies by adaptor.
|
|
7837
7848
|
additionalProperties: true
|
|
@@ -7840,14 +7851,25 @@ components:
|
|
|
7840
7851
|
description: |-
|
|
7841
7852
|
Pipeline stage where the record was when the error occurred, which is where a retry resumes.
|
|
7842
7853
|
`page_processor_import` is the record as it entered the import, so a retry sends it to the
|
|
7843
|
-
destination again
|
|
7844
|
-
the
|
|
7845
|
-
|
|
7846
|
-
the
|
|
7847
|
-
|
|
7848
|
-
|
|
7854
|
+
destination again. A postSubmit hook's errors are stored here whether the destination accepted
|
|
7855
|
+
the record or refused it and the hook reworded the refusal (live, 2026-10-30), so neither the
|
|
7856
|
+
stage nor the error's `post_submit_hook` source says whether the record was written: retrying
|
|
7857
|
+
an error the hook raised after the destination accepted the record writes it a second time
|
|
7858
|
+
(live, 2026-10-22), while a reworded refusal is a record the destination did not take.
|
|
7859
|
+
`page_processor_export` is a lookup's error: a retry runs the lookup again as it is configured
|
|
7860
|
+
now (live, 2026-10-30: after the lookup's template was fixed, the retried records succeeded).
|
|
7861
|
+
`post_response_mapping` is a postResponseMap hook's error, raised after the destination
|
|
7862
|
+
answered: a retry runs the hook from the stored reply and carries the record on to the flow's
|
|
7863
|
+
next steps, sending nothing to that destination again (live, 2026-10-23 and 2026-10-25: the
|
|
7864
|
+
import's request count didn't change, and the next import received the retried records).
|
|
7865
|
+
x-celigo-ai-guidance:
|
|
7866
|
+
- |-
|
|
7867
|
+
Before retrying `post_submit_hook` errors, find out whether the destination took each
|
|
7868
|
+
record — the hook's message, or a lookup of the record in the destination — and retry the
|
|
7869
|
+
refusals. A hook error on a record the destination accepted is written again by the retry.
|
|
7849
7870
|
examples:
|
|
7850
7871
|
- page_processor_import
|
|
7872
|
+
- page_processor_export
|
|
7851
7873
|
- post_response_mapping
|
|
7852
7874
|
- importMappingExtract
|
|
7853
7875
|
pgExportId:
|
package/dist/guardrail.yml
CHANGED
|
@@ -602,8 +602,10 @@ components:
|
|
|
602
602
|
- **openai**: OpenAI models (GPT-4.1, GPT-5, etc.). Configure via the `openai` object.
|
|
603
603
|
- **gemini**: Google Gemini models via the LiteLLM proxy. Configure via `litellm` with overrides in `litellm._overrides.gemini`.
|
|
604
604
|
- **anthropic**: Anthropic Claude models via the LiteLLM proxy. Configure via `litellm` with overrides in `litellm._overrides.anthropic`.
|
|
605
|
-
- **Catalog providers** —
|
|
606
|
-
|
|
605
|
+
- **Catalog providers** — every other value of `provider` (Mistral, xAI, Hugging Face,
|
|
606
|
+
DeepSeek, Cohere, Groq, Together AI, Azure OpenAI, Fireworks AI, AWS Bedrock, NVIDIA NIM,
|
|
607
|
+
Ollama Cloud and Google Vertex AI today; the catalog grows without a platform release).
|
|
608
|
+
Added as catalog data rather than platform code, they share one generic flat format:
|
|
607
609
|
`model`, `modelOptions`, `instructions`, `output`, and the `prompts` / `resources`
|
|
608
610
|
arrays directly on this object.
|
|
609
611
|
|
|
@@ -655,26 +657,43 @@ components:
|
|
|
655
657
|
- deepseek
|
|
656
658
|
- cohere
|
|
657
659
|
- groq
|
|
660
|
+
- together_ai
|
|
661
|
+
- azure_ai
|
|
662
|
+
- fireworks_ai
|
|
663
|
+
- bedrock
|
|
664
|
+
- nvidia_nim
|
|
665
|
+
- ollama_chat
|
|
666
|
+
- vertex_ai
|
|
658
667
|
x-enumDescriptions:
|
|
659
|
-
openai: Use OpenAI models via the OpenAI Responses API (built-in; `openai` block)
|
|
660
|
-
gemini: Use Google Gemini models via the LiteLLM proxy (built-in; `litellm` block)
|
|
661
|
-
anthropic: Use Anthropic Claude models via the LiteLLM proxy (built-in; `litellm` block)
|
|
662
|
-
mistral: Use Mistral models (catalog provider; generic flat format, BYOK)
|
|
663
|
-
xai: Use xAI Grok models (catalog provider; generic flat format, BYOK)
|
|
664
|
-
huggingface: Use Hugging Face inference endpoint models (catalog provider; generic flat format, BYOK)
|
|
665
|
-
deepseek: Use DeepSeek models (catalog provider; generic flat format, BYOK)
|
|
666
|
-
cohere: Use Cohere models (catalog provider; generic flat format, BYOK)
|
|
667
|
-
groq: Use Groq-hosted models (catalog provider; generic flat format, BYOK)
|
|
668
|
-
|
|
668
|
+
openai: Use OpenAI models via the OpenAI Responses API (built-in; `openai` block; Celigo AI or BYOK)
|
|
669
|
+
gemini: Use Google Gemini models via the LiteLLM proxy (built-in; `litellm` block; Celigo AI or BYOK)
|
|
670
|
+
anthropic: Use Anthropic Claude models via the LiteLLM proxy (built-in; `litellm` block; Celigo AI or BYOK)
|
|
671
|
+
mistral: Use Mistral models (catalog provider; generic flat format, BYOK)
|
|
672
|
+
xai: Use xAI Grok models (catalog provider; generic flat format, BYOK)
|
|
673
|
+
huggingface: Use Hugging Face inference endpoint models (catalog provider; generic flat format, BYOK)
|
|
674
|
+
deepseek: Use DeepSeek models (catalog provider; generic flat format, BYOK)
|
|
675
|
+
cohere: Use Cohere models (catalog provider; generic flat format, BYOK)
|
|
676
|
+
groq: Use Groq-hosted models (catalog provider; generic flat format, BYOK)
|
|
677
|
+
together_ai: Use models served by Together AI (catalog provider; generic flat format, BYOK)
|
|
678
|
+
azure_ai: Use deployments on an Azure AI Foundry / Azure OpenAI resource — `model` is the deployment name (catalog provider; generic flat format, BYOK)
|
|
679
|
+
fireworks_ai: Use models served by Fireworks AI (catalog provider; generic flat format, BYOK)
|
|
680
|
+
bedrock: Use AWS Bedrock models through cross-region inference profile ids such as `global.anthropic.claude-sonnet-4-6` (catalog provider; generic flat format, BYOK)
|
|
681
|
+
nvidia_nim: Use models served by NVIDIA NIM (catalog provider; generic flat format, BYOK)
|
|
682
|
+
ollama_chat: Use models served by Ollama Cloud (catalog provider; generic flat format, BYOK)
|
|
683
|
+
vertex_ai: Use Gemini models on Google Vertex AI with the customer's own GCP project (catalog provider; generic flat format, BYOK)
|
|
684
|
+
description: |-
|
|
685
|
+
AI provider to use. Built-in providers run on Celigo AI credentials or on a
|
|
686
|
+
BYOK connection; every other provider is a catalog row that runs only on a BYOK
|
|
687
|
+
connection. The catalog is data — a provider can be added without a platform
|
|
688
|
+
release, and `GET /api/aiproviders` lists the rows currently offered.
|
|
669
689
|
x-celigo-ai-guidance:
|
|
670
690
|
- |-
|
|
671
691
|
The provider decides the configuration format, and the server rejects a
|
|
672
692
|
mismatch with 422 `invalid_provider_config_format`: `openai` needs the
|
|
673
693
|
`openai` block, `gemini` and `anthropic` need the `litellm` block (Gemini- or
|
|
674
|
-
Claude-specific settings under `litellm._overrides`), and
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
never an `openai` or `litellm` block.
|
|
694
|
+
Claude-specific settings under `litellm._overrides`), and every other
|
|
695
|
+
provider (the catalog providers) needs the generic flat format — `model` and
|
|
696
|
+
`modelOptions` directly on this object, never an `openai` or `litellm` block.
|
|
678
697
|
- |-
|
|
679
698
|
Catalog providers are BYOK-only, and the save enforces it through the model
|
|
680
699
|
catalog: without a `_connectionId` the guardrail fails to save with 422
|
|
@@ -683,6 +702,18 @@ components:
|
|
|
683
702
|
configuration.") — the model is a catalog row that is not offered on
|
|
684
703
|
platform-managed credentials. Attach an HTTP connection to the vendor's API
|
|
685
704
|
(token auth) before saving a catalog-provider guardrail.
|
|
705
|
+
- |-
|
|
706
|
+
Without a connection, a provider the catalog does not list is refused at the
|
|
707
|
+
model check — 422 `ai_model_not_in_catalog` on `guardrail.aiAgent.model` — so the
|
|
708
|
+
message names the model, not the provider. Check the provider against the
|
|
709
|
+
catalog before blaming the model.
|
|
710
|
+
- |-
|
|
711
|
+
For `azure_ai` and `bedrock` the vendor-specific settings ride the BYOK
|
|
712
|
+
connection, not this object: an optional connection `baseURI` (the vendor
|
|
713
|
+
endpoint the connector asks for), and connection settings forwarded to the
|
|
714
|
+
vendor — Azure's `apiVersion`, Bedrock's `awsRegionName`. `bedrock`
|
|
715
|
+
authenticates with a Bedrock API key (no IAM role); for `azure_ai`, `model` is
|
|
716
|
+
the deployment name.
|
|
686
717
|
model:
|
|
687
718
|
type: string
|
|
688
719
|
description: |-
|
|
@@ -1566,6 +1597,13 @@ components:
|
|
|
1566
1597
|
- deepseek
|
|
1567
1598
|
- cohere
|
|
1568
1599
|
- groq
|
|
1600
|
+
- together_ai
|
|
1601
|
+
- azure_ai
|
|
1602
|
+
- fireworks_ai
|
|
1603
|
+
- bedrock
|
|
1604
|
+
- nvidia_nim
|
|
1605
|
+
- ollama_chat
|
|
1606
|
+
- vertex_ai
|
|
1569
1607
|
required:
|
|
1570
1608
|
- provider
|
|
1571
1609
|
then:
|
|
@@ -2389,7 +2427,7 @@ components:
|
|
|
2389
2427
|
Connection for BYOK (bring your own key) — only meaningful for `ai_agent` type
|
|
2390
2428
|
guardrails. Optional for the built-in providers (`openai`, `gemini`, `anthropic`),
|
|
2391
2429
|
which run on platform-managed credentials when it is omitted; catalog providers
|
|
2392
|
-
(
|
|
2430
|
+
(every other value of `provider`) have no platform-managed
|
|
2393
2431
|
credentials and need it to run.
|
|
2394
2432
|
examples:
|
|
2395
2433
|
- 68ae48d6b5f755d2dd38c294
|