@celigo/api-specs 0.2.18 → 0.2.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/import.yml CHANGED
@@ -8260,7 +8260,7 @@ components:
8260
8260
  For most file imports, you need at minimum:
8261
8261
  - `fileName`: The output file name (supports Handlebars like `{{timestamp}}`)
8262
8262
  - `type`: The file format (json, csv, xml, xlsx)
8263
- - `skipAggregation`: Usually `false` for standard imports
8263
+ - `aggregation.type`: How the run's records are batched into files (`all` for one file per run)
8264
8264
 
8265
8265
  **Example (S3 Import)**
8266
8266
 
@@ -8268,7 +8268,7 @@ components:
8268
8268
  {
8269
8269
  "file": {
8270
8270
  "fileName": "customers-{{timestamp}}.json",
8271
- "skipAggregation": false,
8271
+ "aggregation": { "type": "all" },
8272
8272
  "type": "json"
8273
8273
  },
8274
8274
  "s3": {
@@ -8310,18 +8310,22 @@ components:
8310
8310
  skipAggregation:
8311
8311
  type: boolean
8312
8312
  description: |-
8313
- Controls whether records are aggregated into a single file or processed individually.
8314
-
8315
- **Values**
8316
- - `false` (DEFAULT): Records are aggregated into a single output file
8317
- - `true`: Each record is written as a separate file
8318
-
8319
- **When to use**
8320
- - **`false`**: Standard batch imports where all records go into one file
8321
- - **`true`**: When each record needs its own file (e.g., individual documents)
8322
-
8323
- **Default:** `false`
8313
+ Legacy companion of `aggregation.type`: `true` when the run's records are written one
8314
+ file per page, `false` when they are combined across the run or grouped by key.
8315
+ Validation reads the value sent — an EDI file definition needs `true` unless
8316
+ `aggregation.type` is `key`, and `batchSize` needs `true` — then the save rewrites it
8317
+ from `aggregation.type`, so send the two as a consistent pair.
8324
8318
  default: false
8319
+ x-celigo-ai-guidance:
8320
+ - |-
8321
+ Send `skipAggregation` and `aggregation.type` as a consistent pair, exactly as the UI
8322
+ does: `page` with `true`; `all` or `key` with `false`. Validation reads the SENT flag —
8323
+ a `file.type: filedefinition` import saved with `page` and no `skipAggregation: true`
8324
+ fails with 422 `not_supported` ("Aggregation is not supported for EDI files, please set
8325
+ skipAggregation to true in Imports"), and `batchSize` fails with 422 `not_supported`
8326
+ ("File imports do not support batching with aggregation") unless the sent flag is
8327
+ `true`. The SAVED flag is then derived from `aggregation.type`, so this flag alone never
8328
+ says which mode is active — read `aggregation.type`. It does not mean one file per record.
8325
8329
  type:
8326
8330
  type: string
8327
8331
  enum:
@@ -8427,7 +8431,15 @@ components:
8427
8431
  - When target system has file size limitations
8428
8432
 
8429
8433
  **Note**
8430
- - Only applicable when `skipAggregation` is `true`
8434
+ - Offered when records are written one file per page (`aggregation.type: page` with
8435
+ `skipAggregation: true`)
8436
+ x-celigo-ai-guidance:
8437
+ - |-
8438
+ Probed for `all` and `page`: the save rejects `batchSize` with 422 `not_supported`
8439
+ ("File imports do not support batching with aggregation") when the sent
8440
+ `skipAggregation` is not `true`, and accepts it with `page` + `skipAggregation: true`.
8441
+ The `key` + `batchSize` combination has not been probed (it needs a B2B Manager
8442
+ account) — treat it as unverified, neither allowed nor forbidden.
8431
8443
  encrypt:
8432
8444
  type: boolean
8433
8445
  description: |-
@@ -8533,21 +8545,45 @@ components:
8533
8545
  aggregation:
8534
8546
  type: object
8535
8547
  description: |-
8536
- Controls how records are batched into output files. Newer imports use this object; the
8537
- legacy skipAggregation flag is the older equivalent.
8548
+ Controls how a flow run's records are batched into output files — the transfer form's
8549
+ "How many files would you like to generate?" setting. The legacy `skipAggregation` flag
8550
+ mirrors `type` and is maintained by the platform.
8538
8551
  properties:
8539
8552
  type:
8540
8553
  type: string
8541
8554
  enum:
8542
8555
  - all
8543
8556
  - page
8557
+ - key
8544
8558
  x-enumDescriptions:
8545
- all: Aggregate every record from the flow run into a single output file.
8546
- page: Write one output file per page of records.
8547
- description: Whether all records across the flow run go to one file, or one file is written per page.
8559
+ all: One file per flow run — every record from the run (per export, or per request on real-time flows) in a single file
8560
+ page: One file per page of records
8561
+ key: One file per aggregation key — EDI file definitions only; records sharing the key derived from the file definition's document type are combined into one document
8562
+ description: |-
8563
+ Which batches of a run's records become separate output files. EDI file definitions
8564
+ (`file.type: filedefinition`) are written per page or per key, never per run; `key`
8565
+ is accepted only for them and only when the account has B2B Manager. The grouping
8566
+ key and the line-item loop it merges come from the EDI file definition's document
8567
+ type, so there is no separate key field to configure.
8548
8568
  examples:
8549
8569
  - all
8550
8570
  - page
8571
+ - key
8572
+ x-celigo-ai-guidance:
8573
+ - |-
8574
+ Validated on save: an unknown value fails with 422 `enum`; `key` fails with 422
8575
+ `not_supported` unless `file.type` is `filedefinition` ("Aggregation type key is
8576
+ only supported for file type filedefinition") and the account has B2B Manager
8577
+ ("Aggregation type key is only supported for B2B Manager").
8578
+ - |-
8579
+ For `file.type: filedefinition` send `page` (with `skipAggregation: true`) or `key`
8580
+ (with `false`); `all` is not an EDI option — the validator enforces this through the
8581
+ `skipAggregation` rule (see that field). For every other file type the choices are
8582
+ `all` and `page`. The UI offers exactly these splits.
8583
+ - |-
8584
+ A user asking where the "aggregation key" is configured is asking about this
8585
+ field: the key itself is derived from the file definition's document type, never
8586
+ entered.
8551
8587
  lookups:
8552
8588
  type: array
8553
8589
  description: |-
@@ -8798,14 +8834,22 @@ components:
8798
8834
  AI Agent configuration used by both AiAgentImport and GuardrailImport (ai_agent type).
8799
8835
 
8800
8836
  Configures which AI provider and model to use, along with instructions, parameter
8801
- tuning, output format, and available tools. Three providers are supported:
8802
-
8803
- - **openai**: OpenAI models (GPT-4, GPT-4o, GPT-4o-mini, GPT-5, etc.). Configure via the `openai` object.
8804
- - **gemini**: Google Gemini models via the LiteLLM proxy. Configure via `litellm` with overrides in `litellm._overrides.gemini`.
8805
- - **anthropic**: Anthropic Claude models via the LiteLLM proxy. Configure via `litellm` with overrides in `litellm._overrides.anthropic`.
8806
-
8807
- A `_connectionId` is optional (BYOK). If not provided on the parent import,
8808
- platform-managed credentials are used.
8837
+ tuning, output format, and available tools. Providers come in two families with
8838
+ two configuration formats:
8839
+
8840
+ - **Built-in providers** — each has its own configuration block.
8841
+ - **openai**: OpenAI models (GPT-4.1, GPT-5, etc.). Configure via the `openai` object.
8842
+ - **gemini**: Google Gemini models via the LiteLLM proxy. Configure via `litellm` with overrides in `litellm._overrides.gemini`.
8843
+ - **anthropic**: Anthropic Claude models via the LiteLLM proxy. Configure via `litellm` with overrides in `litellm._overrides.anthropic`.
8844
+ - **Catalog providers** — `mistral`, `xai`, `huggingface`, `deepseek`, `cohere`, `groq`. Added
8845
+ as catalog data rather than platform code, they share one generic flat format:
8846
+ `model`, `modelOptions`, `instructions`, `output`, and the `tools` / `prompts` /
8847
+ `resources` arrays directly on this object.
8848
+
8849
+ A `_connectionId` on the parent import selects bring-your-own-key (BYOK)
8850
+ credentials. Without one, built-in providers run on platform-managed
8851
+ credentials; catalog providers have no platform-managed credentials, so they
8852
+ save without a connection but cannot run until one is attached.
8809
8853
  required:
8810
8854
  - provider
8811
8855
  properties:
@@ -8815,18 +8859,224 @@ components:
8815
8859
  - openai
8816
8860
  - gemini
8817
8861
  - anthropic
8862
+ - mistral
8863
+ - xai
8864
+ - huggingface
8865
+ - deepseek
8866
+ - cohere
8867
+ - groq
8818
8868
  x-enumDescriptions:
8819
- openai: Use OpenAI models via the OpenAI Responses API.
8820
- gemini: Use Google Gemini models via the LiteLLM proxy.
8821
- anthropic: Use Anthropic Claude models via the LiteLLM proxy.
8869
+ openai: Use OpenAI models via the OpenAI Responses API (built-in; `openai` block).
8870
+ gemini: Use Google Gemini models via the LiteLLM proxy (built-in; `litellm` block).
8871
+ anthropic: Use Anthropic Claude models via the LiteLLM proxy (built-in; `litellm` block).
8872
+ mistral: Use Mistral models (catalog provider; generic flat format, BYOK).
8873
+ xai: Use xAI Grok models (catalog provider; generic flat format, BYOK).
8874
+ huggingface: Use Hugging Face inference endpoint models (catalog provider; generic flat format, BYOK).
8875
+ deepseek: Use DeepSeek models (catalog provider; generic flat format, BYOK).
8876
+ cohere: Use Cohere models (catalog provider; generic flat format, BYOK).
8877
+ groq: Use Groq-hosted models (catalog provider; generic flat format, BYOK).
8822
8878
  description: AI provider to use.
8823
8879
  x-celigo-ai-guidance:
8824
8880
  - |-
8825
- - **openai**: Uses OpenAI Responses API. Configure via the `openai` object.
8826
- - **gemini**: Uses Google Gemini via LiteLLM. Configure via `litellm` with
8827
- Gemini-specific overrides in `litellm._overrides.gemini`.
8828
- - **anthropic**: Uses Anthropic Claude via LiteLLM. Configure via `litellm` with
8829
- Claude-specific overrides in `litellm._overrides.anthropic`.
8881
+ The provider decides the configuration format, and the server rejects a
8882
+ mismatch with 422 `invalid_provider_config_format`: `openai` needs the
8883
+ `openai` block, `gemini` and `anthropic` need the `litellm` block (Gemini- or
8884
+ Claude-specific settings under `litellm._overrides`), and the catalog
8885
+ providers (`mistral`, `xai`, `huggingface`, `deepseek`, `cohere`, `groq`) need the
8886
+ generic flat format — `model` and `modelOptions` directly on this object,
8887
+ never an `openai` or `litellm` block.
8888
+ - |-
8889
+ Catalog providers are BYOK-only at run time: the agent saves without a
8890
+ `_connectionId`, but its first run fails with 422 `invalid_request` ("No API
8891
+ key configured for provider …"). Always attach an HTTP connection to the
8892
+ vendor's API (token auth) when the provider is a catalog provider.
8893
+ model:
8894
+ type: string
8895
+ description: |-
8896
+ Model identifier for a catalog provider (generic flat format) — for example
8897
+ `grok-4.6`. Built-in providers set the model inside their own block
8898
+ (`openai.model`, `litellm.model`) instead.
8899
+ x-celigo-ai-guidance:
8900
+ - |-
8901
+ Required for every catalog provider — omitting it or sending an empty string
8902
+ fails the save with 422 `missing_required_field`.
8903
+ - |-
8904
+ Without a `_connectionId` on the parent import the model must be one the
8905
+ catalog lists for the provider: an unknown id fails the save with 422
8906
+ `model_not_found`, a listed-but-disabled id with 422 `model_disabled`. With a
8907
+ `_connectionId` (BYOK) any model string saves — the server does not check it
8908
+ against the catalog or the vendor.
8909
+ modelOptions:
8910
+ type: object
8911
+ description: |-
8912
+ Model tuning for a catalog provider (generic flat format). Which keys, values, and
8913
+ ranges are accepted is defined per catalog model and validated on save when the
8914
+ model is a catalog entry.
8915
+ properties:
8916
+ maxOutputTokens:
8917
+ type: number
8918
+ description: Maximum number of tokens the model may generate.
8919
+ temperature:
8920
+ type: number
8921
+ description: Sampling temperature.
8922
+ topP:
8923
+ type: number
8924
+ description: Nucleus sampling threshold.
8925
+ reasoning_effort:
8926
+ type: string
8927
+ enum:
8928
+ - low
8929
+ - medium
8930
+ - high
8931
+ - xhigh
8932
+ x-enumDescriptions:
8933
+ low: Minimal reasoning before answering.
8934
+ medium: Moderate reasoning.
8935
+ high: Extensive reasoning.
8936
+ xhigh: Maximum reasoning.
8937
+ description: Reasoning depth for models that expose it.
8938
+ x-celigo-ai-guidance:
8939
+ - |-
8940
+ When the model is a catalog entry, the server validates this object against
8941
+ that model's schema and fails the save with 422 `invalid_model_options`
8942
+ naming the key: unknown keys are rejected, `reasoning_effort` must be one of
8943
+ the enum values where the model accepts it at all (xAI's `grok-4.6` does;
8944
+ DeepSeek's `deepseek-chat` rejects the key), and numeric bounds apply —
8945
+ on `grok-4.6`, `temperature` ≤ 2, `topP` ≤ 1, `maxOutputTokens` ≥ 100.
8946
+ - |-
8947
+ With a `_connectionId` and a model the catalog does not list, the object is
8948
+ passed through unvalidated — send only options the vendor's API accepts.
8949
+ instructions:
8950
+ type: string
8951
+ description: |-
8952
+ System prompt for a catalog provider (generic flat format). Built-in providers
8953
+ set it inside their own block (`openai.instructions`,
8954
+ `litellm._overrides.anthropic.systemInstruction`).
8955
+ output:
8956
+ type: object
8957
+ description: |-
8958
+ Output format for a catalog provider (generic flat format). Built-in providers
8959
+ configure it inside their own block (`openai.output`, `litellm.responseFormat`).
8960
+ properties:
8961
+ format:
8962
+ type: object
8963
+ description: Controls the structure of the model's output.
8964
+ properties:
8965
+ type:
8966
+ type: string
8967
+ enum:
8968
+ - text
8969
+ - json_schema
8970
+ x-enumDescriptions:
8971
+ text: Free-form text.
8972
+ json_schema: Structured JSON conforming to `jsonSchema`.
8973
+ description: Output type.
8974
+ x-celigo-ai-guidance:
8975
+ - |-
8976
+ `blob` is not accepted here — the save fails with 422
8977
+ `unsupported_output_format` naming the model (verified on `grok-4.6`).
8978
+ name:
8979
+ type: string
8980
+ description: Name of the JSON schema, for `json_schema` output.
8981
+ strict:
8982
+ type: boolean
8983
+ description: When true, the model must conform exactly to `jsonSchema`.
8984
+ jsonSchema:
8985
+ type: object
8986
+ additionalProperties: true
8987
+ description: JSON Schema the structured output must conform to, for `json_schema` output.
8988
+ verbose:
8989
+ type: string
8990
+ description: Level of detail in the model's response, for models that expose it.
8991
+ tools:
8992
+ type: array
8993
+ description: |-
8994
+ Tools available to a catalog-provider agent (generic flat format). Entries mirror
8995
+ the built-in providers' tool entries: a Celigo Tool by `_toolId`, an MCP server by
8996
+ `_mcpConnectionId`, or a vendor web-search tool.
8997
+ items:
8998
+ type: object
8999
+ properties:
9000
+ type:
9001
+ type: string
9002
+ enum:
9003
+ - tool
9004
+ - mcp
9005
+ - web_search
9006
+ x-enumDescriptions:
9007
+ tool: Reference a reusable Celigo Tool resource.
9008
+ mcp: Connect to an MCP server for additional external tools.
9009
+ web_search: Search the web for real-time information, where the vendor's model supports it.
9010
+ description: Type of tool entry.
9011
+ tool:
9012
+ type: object
9013
+ description: Reference to a Celigo Tool resource, used when type is "tool".
9014
+ properties:
9015
+ _toolId:
9016
+ type: string
9017
+ format: objectId
9018
+ x-celigo-refModel: tools
9019
+ description: The Celigo Tool to call.
9020
+ mcp:
9021
+ type: object
9022
+ description: MCP server connection, used when type is "mcp".
9023
+ properties:
9024
+ _mcpConnectionId:
9025
+ type: string
9026
+ format: objectId
9027
+ x-celigo-refModel: connections
9028
+ description: Connection to the MCP server.
9029
+ allowedTools:
9030
+ type: array
9031
+ description: |-
9032
+ Specific tools to allow from the MCP server (all if omitted). Each entry
9033
+ is either a plain tool name or an object carrying display metadata.
9034
+ items:
9035
+ type:
9036
+ - string
9037
+ - object
9038
+ config:
9039
+ type: object
9040
+ additionalProperties: true
9041
+ description: Tool-specific options for vendor-native tools (for example web-search settings).
9042
+ x-celigo-ai-guidance:
9043
+ - |-
9044
+ References are checked on save: an unknown `_toolId` or `_mcpConnectionId`
9045
+ fails with 422 `invalid_ref` naming the array index.
9046
+ prompts:
9047
+ type: array
9048
+ description: |-
9049
+ MCP prompt entries available to a catalog-provider agent (generic flat format).
9050
+ Each entry references one MCP connection and the prompt names allowed from it.
9051
+ items:
9052
+ type: object
9053
+ properties:
9054
+ type:
9055
+ type: string
9056
+ enum:
9057
+ - mcp
9058
+ x-enumDescriptions:
9059
+ mcp: Reference prompts exposed by an MCP server.
9060
+ description: Type of prompt entry. Always "mcp".
9061
+ mcp:
9062
+ type: object
9063
+ properties:
9064
+ _mcpConnectionId:
9065
+ type: string
9066
+ format: objectId
9067
+ x-celigo-refModel: connections
9068
+ description: Connection to the MCP server that exposes the prompts.
9069
+ allowedPrompts:
9070
+ type: array
9071
+ description: Prompt names the agent may fetch from the server.
9072
+ items:
9073
+ type: string
9074
+ x-celigo-ai-guidance:
9075
+ - |-
9076
+ An unknown `_mcpConnectionId` fails the save with 422 `invalid_ref` naming
9077
+ the array index.
9078
+ resources:
9079
+ $ref: '#/components/schemas/McpResources'
8830
9080
  openai:
8831
9081
  type: object
8832
9082
  description: |
@@ -8857,10 +9107,11 @@ components:
8857
9107
  x-celigo-ai-guidance:
8858
9108
  - |-
8859
9109
  With platform-managed credentials (no `_connectionId` on the parent
8860
- import), the model must be on the platform's allowlist — an
8861
- unlisted model fails the save with 422. A BYOK connection bypasses
8862
- the allowlist and the model string is passed through to the
8863
- provider as-is.
9110
+ import), the model must be one the platform hosts. The save does not
9111
+ check this — an unlisted model saves, and the agent's first run fails
9112
+ with 422 `invalid_model`, whose message lists the hosted models. A
9113
+ BYOK connection bypasses the hosted list and the model string is
9114
+ passed through to the provider as-is.
8864
9115
  reasoning:
8865
9116
  type: object
8866
9117
  description: Controls depth of reasoning for complex tasks.
@@ -9263,6 +9514,13 @@ components:
9263
9514
  - claude-sonnet-4-6
9264
9515
  - claude-opus-4-7
9265
9516
  x-celigo-ui-override: Required by the AI agent configuration form. Encoded here to mirror the form so builders produce connectable configurations.
9517
+ x-celigo-ai-guidance:
9518
+ - |-
9519
+ With platform-managed credentials (no `_connectionId` on the parent
9520
+ import), the model must be one the platform hosts for the provider —
9521
+ Gemini and Anthropic Claude both have a hosted list. The save does not
9522
+ check this — an unlisted model saves, and the agent's first run fails
9523
+ with 422 `invalid_model`, whose message lists the hosted models.
9266
9524
  temperature:
9267
9525
  type: number
9268
9526
  minimum: 0
@@ -9917,6 +10175,22 @@ components:
9917
10175
  litellm:
9918
10176
  required:
9919
10177
  - model
10178
+ else:
10179
+ if:
10180
+ properties:
10181
+ provider:
10182
+ enum:
10183
+ - mistral
10184
+ - xai
10185
+ - huggingface
10186
+ - deepseek
10187
+ - cohere
10188
+ - groq
10189
+ required:
10190
+ - provider
10191
+ then:
10192
+ required:
10193
+ - model
9920
10194
  GuardrailConfig:
9921
10195
  type: object
9922
10196
  description: |-
@@ -13765,7 +14039,7 @@ components:
13765
14039
  MongodbImport: MongoDB database import for document-based operations.
13766
14040
  DynamodbImport: Amazon DynamoDB import for NoSQL table operations.
13767
14041
  WrapperImport: Custom adaptor import built outside of Celigo (rarely used).
13768
- AiAgentImport: AI agent import using OpenAI, Gemini, or Anthropic Claude models for data processing.
14042
+ AiAgentImport: AI agent import using OpenAI, Gemini, Anthropic Claude, or a BYOK catalog provider (Mistral, xAI, Hugging Face, DeepSeek, Cohere, Groq) for data processing.
13769
14043
  GuardrailImport: Safety and compliance check import for PII detection, moderation, or AI evaluation.
13770
14044
  FileSystemImport: Local or network file system import.
13771
14045
  ToolImport: Import that executes a reusable Celigo Tool resource.