@celigo/api-specs 0.2.171 → 0.2.173

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.
@@ -615,15 +615,30 @@ components:
615
615
  - `"lessthan"`: Value is less than specified value (is less than)
616
616
  - `"lessthanequals"`: Value is less than or equal to specified value (is less than or equals)
617
617
  - `"startswith"`: String starts with specified prefix (starts with)
618
+ - `"notstartswith"`: String does not start with specified prefix (does not start with)
618
619
  - `"endswith"`: String ends with specified suffix (ends with)
620
+ - `"notendswith"`: String does not end with specified suffix (does not end with)
619
621
  - `"contains"`: String contains specified substring (contains)
620
622
  - `"doesnotcontain"`: String does not contain specified substring (does not contain)
621
623
  - `"empty"`: Field is missing or empty (is empty)
622
624
  - `"notempty"`: Field contains a value (is not empty)
623
- - `"matches"`: Matches a regular expression (matches)
624
-
625
- `isempty`, `isnotempty` and `anyof` are not operators: they are refused with 422
626
- "Invalid operation: <name>".
625
+ - `"matches"`: Matches a regular expression, ignoring case (matches)
626
+
627
+ Operator names are case-insensitive: `NOTEMPTY` and `endsWith` work and are stored
628
+ as sent. `isempty`, `isnotempty`, `anyof`, `notcontains`, `doesnotstartwith`,
629
+ `doesnotendwith`, `notmatches`, `doesnotmatch` and `notequal` are not operators:
630
+ they are refused with 422 "Invalid operation: <name>", with the name in lowercase,
631
+ both when the filter is saved and by `POST /v1/processors/filter`. To negate a
632
+ condition, wrap it in `not`.
633
+
634
+ The string comparisons (`equals`, `contains`, `startswith`, `endswith` and their
635
+ negations) are case-sensitive; wrap the field in `lowercase` to compare without case.
636
+ `matches` is not: every pattern is compiled with the flags `gi`, so `^paid$` also
637
+ matches `PAID` and `[a-z]` matches capital letters. An inline flag such as `(?i)`
638
+ makes the pattern invalid. The filter still saves, but in a run every record fails
639
+ with `FILTER_EVALUATION_FAILED` ("Invalid regular expression: /(?i)…/gi: Invalid
640
+ group"), and `POST /v1/processors/filter` refuses the call with 422 (live-verified
641
+ 2026-10-22).
627
642
 
628
643
  **Logical Operators**
629
644
  - `"and"`: All conditions must be true
@@ -913,7 +928,9 @@ components:
913
928
  x-celigo-refModel: scripts
914
929
  description: |
915
930
  Reference to the Script resource that contains the filtering logic. This must be a valid
916
- ObjectId of a Script resource that exists in the system.
931
+ ObjectId of a Script resource in this account: any other id fails the save with 422
932
+ ("Only a script owned by the user or a script shared by the Integration App can be used
933
+ at filter.script._scriptId.").
917
934
 
918
935
  The referenced script must contain the function specified in the `function` field
919
936
  and must be written to handle filtering specifically. The script receives
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.171",
3
+ "version": "0.2.173",
4
4
  "private": false,
5
5
  "description": "Public OpenAPI bundles (dist/) and the celigo-cli lint schema pack (schemas.json).",
6
6
  "keywords": [
package/schemas.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "provenance": {
3
3
  "repo": "celigo/integrator-api-specs",
4
- "iasCommit": "e4659186",
4
+ "iasCommit": "752a338e",
5
5
  "generatedAt": "2026-10-22"
6
6
  },
7
7
  "roots": {
@@ -5315,6 +5315,7 @@
5315
5315
  ],
5316
5316
  "p": {
5317
5317
  "containers": 452,
5318
+ "fields": 21,
5318
5319
  "type": 447
5319
5320
  }
5320
5321
  },