@uniformdev/canvas 20.72.3-alpha.2 → 20.72.3-alpha.5
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/index.d.mts +242 -7
- package/dist/index.d.ts +242 -7
- package/package.json +5 -5
package/dist/index.d.mts
CHANGED
|
@@ -3149,8 +3149,99 @@ interface paths$k {
|
|
|
3149
3149
|
* following query parameter conventions which are pattern-validated and
|
|
3150
3150
|
* therefore not declared as named parameters:
|
|
3151
3151
|
*
|
|
3152
|
-
* * `filters.<field>[<op>]` — content filtering
|
|
3153
|
-
* * `select.<bucket>[<op>]` — data projection
|
|
3152
|
+
* * `filters.<field>[<op>]` — content filtering (documented below).
|
|
3153
|
+
* * `select.<bucket>[<op>]` — data projection (documented below).
|
|
3154
|
+
*
|
|
3155
|
+
* #### Content filtering (`filters.*`)
|
|
3156
|
+
*
|
|
3157
|
+
* Filtering narrows list results to entries matching field values. The
|
|
3158
|
+
* allowed field names are project-specific — they come from the project's
|
|
3159
|
+
* content types — which is why `filters.*` parameters are
|
|
3160
|
+
* pattern-validated rather than declared as named parameters.
|
|
3161
|
+
*
|
|
3162
|
+
* Syntax: `filters.<field>[<operator>]=<value>`. `<field>` is one of:
|
|
3163
|
+
*
|
|
3164
|
+
* * A system field: `name`, `slug`, `type`, `created`, `modified`,
|
|
3165
|
+
* `entityId`, `editionId`, `releaseId`, `patternId`, `creator`,
|
|
3166
|
+
* `creatorSubject`, `author`, `authorSubject`, `workflowId`,
|
|
3167
|
+
* `workflowStageId`, `categoryId`, `labels`, `labelGroups`,
|
|
3168
|
+
* `uiStatus`, or `locale`.
|
|
3169
|
+
* * An entry field, addressed as `fields.<fieldId>`. Filtering by fields
|
|
3170
|
+
* requires also filtering to a single content type (e.g.
|
|
3171
|
+
* `filters.type[eq]=...`).
|
|
3172
|
+
* * A sub-property of a field for certain field types: content
|
|
3173
|
+
* references (`fields.<id>.slug|name|type`), links
|
|
3174
|
+
* (`fields.<id>.type|projectMapNodeId`), and assets
|
|
3175
|
+
* (`fields.<id>.url|title|description|mediaType`).
|
|
3176
|
+
*
|
|
3177
|
+
* | Operator | Effect |
|
|
3178
|
+
* |---|---|
|
|
3179
|
+
* | `[eq]` / `[neq]` | Exact equality / inequality. |
|
|
3180
|
+
* | `[match]` | Contains (text search) match; text-like fields only. |
|
|
3181
|
+
* | `[starts]` | Prefix match. Value limited to letters, numbers, `_`, `.`, `-`, and spaces. |
|
|
3182
|
+
* | `[lt]` / `[lte]` / `[gt]` / `[gte]` | Comparisons for number, date, and datetime fields (including `created` / `modified`). |
|
|
3183
|
+
* | `[in]` / `[nin]` | Comma-separated list; matches any (OR) / none of the values. |
|
|
3184
|
+
* | `[all]` | Comma-separated list; list-valued fields (e.g. `labels`, multi-selects) must contain every value (AND). |
|
|
3185
|
+
* | `[def]` | `true` or `false`; whether the field has a value at all. |
|
|
3186
|
+
*
|
|
3187
|
+
* Behavior:
|
|
3188
|
+
*
|
|
3189
|
+
* * Values are single strings, or comma-separated lists for `[in]`,
|
|
3190
|
+
* `[nin]`, and `[all]`. Dates accept `YYYY-MM-DD` or a full datetime
|
|
3191
|
+
* string. An empty value is rejected — use `[def]` to test presence.
|
|
3192
|
+
* * Not every operator is valid for every field; the allowed set depends
|
|
3193
|
+
* on the field's type. An unsupported combination returns HTTP 400
|
|
3194
|
+
* with the supported operators listed.
|
|
3195
|
+
* * Malformed keys, unknown operators, and unknown field names return
|
|
3196
|
+
* HTTP 400.
|
|
3197
|
+
*
|
|
3198
|
+
* Examples:
|
|
3199
|
+
*
|
|
3200
|
+
* * `filters.type[eq]=article` — only entries of type `article`.
|
|
3201
|
+
* * `filters.modified[gte]=2026-01-01` — modified this year.
|
|
3202
|
+
* * `filters.type[eq]=article&filters.fields.brandName[match]=adidas` — field filter scoped to one type.
|
|
3203
|
+
* * `filters.fields.author.slug[eq]=jane-doe` — filter by a referenced entry's slug.
|
|
3204
|
+
*
|
|
3205
|
+
* #### Data projection (`select.*`)
|
|
3206
|
+
*
|
|
3207
|
+
* Projection returns a subset of the response by pruning fields and field
|
|
3208
|
+
* types before values are resolved. The allowed names are project-specific —
|
|
3209
|
+
* they come from the project's content types — which is why `select.*`
|
|
3210
|
+
* parameters are pattern-validated rather than declared as named parameters.
|
|
3211
|
+
*
|
|
3212
|
+
* Syntax: `select.<bucket>[<operator>]=<value>`. Values are comma-separated
|
|
3213
|
+
* lists of names. `*` is the only wildcard and matches zero or more
|
|
3214
|
+
* characters (e.g. `seo_*`).
|
|
3215
|
+
*
|
|
3216
|
+
* | Parameter | Effect |
|
|
3217
|
+
* |---|---|
|
|
3218
|
+
* | `select.fields[only]=a,b` | Keep only the named fields; drop everything else. |
|
|
3219
|
+
* | `select.fields[except]=a,b` | Drop the named fields; keep everything else. |
|
|
3220
|
+
* | `select.fields[locales]=a,b` | For the named fields that survive filtering, return the full per-locale value map instead of only the requested locale's value. |
|
|
3221
|
+
* | `select.fields[blockDepth]=N` | Limit how many levels of block field children are kept. `0` removes all block fields; `preserveAll` prevents projection from trimming fields inside block children. |
|
|
3222
|
+
* | `select.fieldTypes[only]=a,b` | Keep only fields of the named types (type IDs such as `text`, `richText`, `asset`). |
|
|
3223
|
+
* | `select.fieldTypes[except]=a,b` | Drop fields of the named types. |
|
|
3224
|
+
*
|
|
3225
|
+
* The composition-oriented `select.slots.*` operators are also accepted but
|
|
3226
|
+
* have no effect on entry responses (entries have no slots).
|
|
3227
|
+
*
|
|
3228
|
+
* Behavior:
|
|
3229
|
+
*
|
|
3230
|
+
* * Projection applies recursively at every block in the returned entry,
|
|
3231
|
+
* and is forwarded into entries resolved through reference fields.
|
|
3232
|
+
* * When operators combine, all `[only]` sets are intersected first, then
|
|
3233
|
+
* `[except]` sets are subtracted — exclusion always wins.
|
|
3234
|
+
* * Unknown field or type names are silent no-ops (the entry shape is
|
|
3235
|
+
* preserved; non-matching content is simply absent). Unknown operators
|
|
3236
|
+
* return HTTP 400.
|
|
3237
|
+
* * An empty list (`select.fields[only]=`) strips every field; `[except]=*`
|
|
3238
|
+
* is equivalent.
|
|
3239
|
+
*
|
|
3240
|
+
* Examples:
|
|
3241
|
+
*
|
|
3242
|
+
* * `select.fields[only]=title,coverImage` — keep only titles and cover images on every entry in the list.
|
|
3243
|
+
* * `select.fieldTypes[except]=richText` — everything except rich-text fields.
|
|
3244
|
+
* * `select.fields[only]=title,seo_*&select.fields[locales]=seo_*` — lean payload keeping all locales on the SEO fields.
|
|
3154
3245
|
*/
|
|
3155
3246
|
get: {
|
|
3156
3247
|
parameters: {
|
|
@@ -6641,9 +6732,106 @@ interface paths$c {
|
|
|
6641
6732
|
* following query parameter conventions which are pattern-validated and
|
|
6642
6733
|
* therefore not declared as named parameters:
|
|
6643
6734
|
*
|
|
6644
|
-
* * `filters.<field>[<op>]` — content filtering
|
|
6645
|
-
*
|
|
6646
|
-
*
|
|
6735
|
+
* * `filters.<field>[<op>]` — content filtering (documented below).
|
|
6736
|
+
* * `select.<bucket>[<op>]` — data projection (documented below).
|
|
6737
|
+
*
|
|
6738
|
+
* #### Content filtering (`filters.*`)
|
|
6739
|
+
*
|
|
6740
|
+
* Filtering narrows list results to compositions matching field values.
|
|
6741
|
+
* The allowed field names are project-specific — they come from the
|
|
6742
|
+
* project's component definitions — which is why `filters.*` parameters
|
|
6743
|
+
* are pattern-validated rather than declared as named parameters.
|
|
6744
|
+
*
|
|
6745
|
+
* Syntax: `filters.<field>[<operator>]=<value>`. `<field>` is one of:
|
|
6746
|
+
*
|
|
6747
|
+
* * A system field: `name`, `slug`, `type`, `created`, `modified`,
|
|
6748
|
+
* `entityId`, `editionId`, `releaseId`, `patternId`, `creator`,
|
|
6749
|
+
* `creatorSubject`, `author`, `authorSubject`, `projectMapId`,
|
|
6750
|
+
* `projectMapNodeId`, `workflowId`, `workflowStageId`, `categoryId`,
|
|
6751
|
+
* `labels`, `labelGroups`, `uiStatus`, or `locale`.
|
|
6752
|
+
* * A component parameter, addressed as `parameters.<parameterId>`.
|
|
6753
|
+
* Filtering by parameters requires also filtering to a single
|
|
6754
|
+
* composition type (e.g. `filters.type[eq]=...`).
|
|
6755
|
+
* * A sub-property of a parameter for certain parameter types:
|
|
6756
|
+
* content references (`parameters.<id>.slug|name|type`), links
|
|
6757
|
+
* (`parameters.<id>.type|projectMapNodeId`), and assets
|
|
6758
|
+
* (`parameters.<id>.url|title|description|mediaType`).
|
|
6759
|
+
*
|
|
6760
|
+
* | Operator | Effect |
|
|
6761
|
+
* |---|---|
|
|
6762
|
+
* | `[eq]` / `[neq]` | Exact equality / inequality. |
|
|
6763
|
+
* | `[match]` | Contains (text search) match; text-like fields only. |
|
|
6764
|
+
* | `[starts]` | Prefix match. Value limited to letters, numbers, `_`, `.`, `-`, and spaces. |
|
|
6765
|
+
* | `[lt]` / `[lte]` / `[gt]` / `[gte]` | Comparisons for number, date, and datetime fields (including `created` / `modified`). |
|
|
6766
|
+
* | `[in]` / `[nin]` | Comma-separated list; matches any (OR) / none of the values. |
|
|
6767
|
+
* | `[all]` | Comma-separated list; list-valued fields (e.g. `labels`, multi-selects) must contain every value (AND). |
|
|
6768
|
+
* | `[def]` | `true` or `false`; whether the field has a value at all. |
|
|
6769
|
+
*
|
|
6770
|
+
* Behavior:
|
|
6771
|
+
*
|
|
6772
|
+
* * Values are single strings, or comma-separated lists for `[in]`,
|
|
6773
|
+
* `[nin]`, and `[all]`. Dates accept `YYYY-MM-DD` or a full datetime
|
|
6774
|
+
* string. An empty value is rejected — use `[def]` to test presence.
|
|
6775
|
+
* * Not every operator is valid for every field; the allowed set depends
|
|
6776
|
+
* on the field's type. An unsupported combination returns HTTP 400
|
|
6777
|
+
* with the supported operators listed.
|
|
6778
|
+
* * Malformed keys, unknown operators, and unknown field names return
|
|
6779
|
+
* HTTP 400.
|
|
6780
|
+
* * Filters match root compositions only.
|
|
6781
|
+
*
|
|
6782
|
+
* Examples:
|
|
6783
|
+
*
|
|
6784
|
+
* * `filters.type[eq]=landingPage` — only compositions of type `landingPage`.
|
|
6785
|
+
* * `filters.modified[gte]=2026-01-01` — modified this year.
|
|
6786
|
+
* * `filters.type[eq]=landingPage&filters.parameters.audience[in]=b2b,b2c` — parameter filter scoped to one type.
|
|
6787
|
+
* * `filters.labels[all]=approved,featured` — has both labels.
|
|
6788
|
+
*
|
|
6789
|
+
* #### Data projection (`select.*`)
|
|
6790
|
+
*
|
|
6791
|
+
* Projection returns a subset of the response by pruning fields (parameters),
|
|
6792
|
+
* field types, and slots before values are resolved. The allowed names are
|
|
6793
|
+
* project-specific — they come from the project's component definitions and
|
|
6794
|
+
* content types — which is why `select.*` parameters are pattern-validated
|
|
6795
|
+
* rather than declared as named parameters.
|
|
6796
|
+
*
|
|
6797
|
+
* Syntax: `select.<bucket>[<operator>]=<value>`. Values are comma-separated
|
|
6798
|
+
* lists of names. `*` is the only wildcard and matches zero or more
|
|
6799
|
+
* characters (e.g. `seo_*`).
|
|
6800
|
+
*
|
|
6801
|
+
* | Parameter | Effect |
|
|
6802
|
+
* |---|---|
|
|
6803
|
+
* | `select.fields[only]=a,b` | Keep only the named fields/parameters; drop everything else. |
|
|
6804
|
+
* | `select.fields[except]=a,b` | Drop the named fields/parameters; keep everything else. |
|
|
6805
|
+
* | `select.fields[locales]=a,b` | For the named fields that survive filtering, return the full per-locale value map instead of only the requested locale's value. |
|
|
6806
|
+
* | `select.fields[blockDepth]=N` | Limit how many levels of block field children are kept. `0` removes all block fields; `preserveAll` prevents projection from trimming fields inside block children. |
|
|
6807
|
+
* | `select.fieldTypes[only]=a,b` | Keep only fields of the named types (type IDs such as `text`, `richText`, `asset`). |
|
|
6808
|
+
* | `select.fieldTypes[except]=a,b` | Drop fields of the named types. |
|
|
6809
|
+
* | `select.slots[only]=a,b` | Keep only the named slots. |
|
|
6810
|
+
* | `select.slots[except]=a,b` | Drop the named slots. |
|
|
6811
|
+
* | `select.slots[depth]=N` | Limit how many levels of nested components are kept in slots. |
|
|
6812
|
+
* | `select.slots.<name>[depth]=N` | Depth limit for one specific slot; overrides `slots[depth]`. |
|
|
6813
|
+
*
|
|
6814
|
+
* Behavior:
|
|
6815
|
+
*
|
|
6816
|
+
* * Projection applies recursively at every component and block in the
|
|
6817
|
+
* returned tree, and is forwarded into entries resolved through reference
|
|
6818
|
+
* fields.
|
|
6819
|
+
* * When operators combine, all `[only]` sets are intersected first, then
|
|
6820
|
+
* `[except]` sets are subtracted — exclusion always wins.
|
|
6821
|
+
* * Unknown field, slot, or type names are silent no-ops (the tree shape is
|
|
6822
|
+
* preserved; non-matching content is simply absent). Unknown operators
|
|
6823
|
+
* return HTTP 400.
|
|
6824
|
+
* * An empty list (`select.fields[only]=` or `select.slots[only]=`) strips
|
|
6825
|
+
* every member of that bucket; `[except]=*` is equivalent.
|
|
6826
|
+
* * `[depth]` counts nesting within a single fetched tree and resets inside
|
|
6827
|
+
* referenced entries.
|
|
6828
|
+
*
|
|
6829
|
+
* Examples:
|
|
6830
|
+
*
|
|
6831
|
+
* * `select.fields[only]=title,slug` — keep only titles and slugs, everywhere in the tree.
|
|
6832
|
+
* * `select.fieldTypes[except]=richText` — everything except rich-text fields.
|
|
6833
|
+
* * `select.fields[only]=title&select.slots[only]=` — root title only, with all slots flattened.
|
|
6834
|
+
* * `select.slots[depth]=2&select.fields[only]=label,url` — two levels of nested components, trimmed to `label` and `url`.
|
|
6647
6835
|
*/
|
|
6648
6836
|
get: {
|
|
6649
6837
|
parameters: {
|
|
@@ -9465,8 +9653,55 @@ interface paths$a {
|
|
|
9465
9653
|
* @description Fetches the correct response action for a given route (redirection, composition, not found).
|
|
9466
9654
|
*
|
|
9467
9655
|
* In addition to the named parameters below, this endpoint accepts data projection syntax:
|
|
9468
|
-
* `select.<bucket>[<op>]` —
|
|
9469
|
-
*
|
|
9656
|
+
* `select.<bucket>[<op>]` — documented below.
|
|
9657
|
+
*
|
|
9658
|
+
* #### Data projection (`select.*`)
|
|
9659
|
+
*
|
|
9660
|
+
* Projection returns a subset of the matched composition by pruning fields
|
|
9661
|
+
* (parameters), field types, and slots before values are resolved. It only
|
|
9662
|
+
* applies when the route resolves to a composition; redirect and notFound
|
|
9663
|
+
* responses are returned unchanged. The allowed names are project-specific —
|
|
9664
|
+
* they come from the project's component definitions and content types —
|
|
9665
|
+
* which is why `select.*` parameters are pattern-validated rather than
|
|
9666
|
+
* declared as named parameters.
|
|
9667
|
+
*
|
|
9668
|
+
* Syntax: `select.<bucket>[<operator>]=<value>`. Values are comma-separated
|
|
9669
|
+
* lists of names. `*` is the only wildcard and matches zero or more
|
|
9670
|
+
* characters (e.g. `seo_*`).
|
|
9671
|
+
*
|
|
9672
|
+
* | Parameter | Effect |
|
|
9673
|
+
* |---|---|
|
|
9674
|
+
* | `select.fields[only]=a,b` | Keep only the named fields/parameters; drop everything else. |
|
|
9675
|
+
* | `select.fields[except]=a,b` | Drop the named fields/parameters; keep everything else. |
|
|
9676
|
+
* | `select.fields[locales]=a,b` | For the named fields that survive filtering, return the full per-locale value map instead of only the requested locale's value. |
|
|
9677
|
+
* | `select.fields[blockDepth]=N` | Limit how many levels of block field children are kept. `0` removes all block fields; `preserveAll` prevents projection from trimming fields inside block children. |
|
|
9678
|
+
* | `select.fieldTypes[only]=a,b` | Keep only fields of the named types (type IDs such as `text`, `richText`, `asset`). |
|
|
9679
|
+
* | `select.fieldTypes[except]=a,b` | Drop fields of the named types. |
|
|
9680
|
+
* | `select.slots[only]=a,b` | Keep only the named slots. |
|
|
9681
|
+
* | `select.slots[except]=a,b` | Drop the named slots. |
|
|
9682
|
+
* | `select.slots[depth]=N` | Limit how many levels of nested components are kept in slots. |
|
|
9683
|
+
* | `select.slots.<name>[depth]=N` | Depth limit for one specific slot; overrides `slots[depth]`. |
|
|
9684
|
+
*
|
|
9685
|
+
* Behavior:
|
|
9686
|
+
*
|
|
9687
|
+
* * Projection applies recursively at every component and block in the
|
|
9688
|
+
* returned tree, and is forwarded into entries resolved through reference
|
|
9689
|
+
* fields.
|
|
9690
|
+
* * When operators combine, all `[only]` sets are intersected first, then
|
|
9691
|
+
* `[except]` sets are subtracted — exclusion always wins.
|
|
9692
|
+
* * Unknown field, slot, or type names are silent no-ops (the tree shape is
|
|
9693
|
+
* preserved; non-matching content is simply absent). Unknown operators
|
|
9694
|
+
* return HTTP 400.
|
|
9695
|
+
* * An empty list (`select.fields[only]=` or `select.slots[only]=`) strips
|
|
9696
|
+
* every member of that bucket; `[except]=*` is equivalent.
|
|
9697
|
+
* * `[depth]` counts nesting within a single fetched tree and resets inside
|
|
9698
|
+
* referenced entries.
|
|
9699
|
+
*
|
|
9700
|
+
* Examples:
|
|
9701
|
+
*
|
|
9702
|
+
* * `select.fields[only]=title,slug&select.slots[only]=` — title and slug of the resolved page with all slots flattened (e.g. for breadcrumbs).
|
|
9703
|
+
* * `select.fieldTypes[except]=richText` — everything except rich-text fields.
|
|
9704
|
+
* * `select.slots[depth]=2&select.fields[only]=label,url` — two levels of nested components, trimmed to `label` and `url`.
|
|
9470
9705
|
*/
|
|
9471
9706
|
get: {
|
|
9472
9707
|
parameters: {
|
package/dist/index.d.ts
CHANGED
|
@@ -3149,8 +3149,99 @@ interface paths$k {
|
|
|
3149
3149
|
* following query parameter conventions which are pattern-validated and
|
|
3150
3150
|
* therefore not declared as named parameters:
|
|
3151
3151
|
*
|
|
3152
|
-
* * `filters.<field>[<op>]` — content filtering
|
|
3153
|
-
* * `select.<bucket>[<op>]` — data projection
|
|
3152
|
+
* * `filters.<field>[<op>]` — content filtering (documented below).
|
|
3153
|
+
* * `select.<bucket>[<op>]` — data projection (documented below).
|
|
3154
|
+
*
|
|
3155
|
+
* #### Content filtering (`filters.*`)
|
|
3156
|
+
*
|
|
3157
|
+
* Filtering narrows list results to entries matching field values. The
|
|
3158
|
+
* allowed field names are project-specific — they come from the project's
|
|
3159
|
+
* content types — which is why `filters.*` parameters are
|
|
3160
|
+
* pattern-validated rather than declared as named parameters.
|
|
3161
|
+
*
|
|
3162
|
+
* Syntax: `filters.<field>[<operator>]=<value>`. `<field>` is one of:
|
|
3163
|
+
*
|
|
3164
|
+
* * A system field: `name`, `slug`, `type`, `created`, `modified`,
|
|
3165
|
+
* `entityId`, `editionId`, `releaseId`, `patternId`, `creator`,
|
|
3166
|
+
* `creatorSubject`, `author`, `authorSubject`, `workflowId`,
|
|
3167
|
+
* `workflowStageId`, `categoryId`, `labels`, `labelGroups`,
|
|
3168
|
+
* `uiStatus`, or `locale`.
|
|
3169
|
+
* * An entry field, addressed as `fields.<fieldId>`. Filtering by fields
|
|
3170
|
+
* requires also filtering to a single content type (e.g.
|
|
3171
|
+
* `filters.type[eq]=...`).
|
|
3172
|
+
* * A sub-property of a field for certain field types: content
|
|
3173
|
+
* references (`fields.<id>.slug|name|type`), links
|
|
3174
|
+
* (`fields.<id>.type|projectMapNodeId`), and assets
|
|
3175
|
+
* (`fields.<id>.url|title|description|mediaType`).
|
|
3176
|
+
*
|
|
3177
|
+
* | Operator | Effect |
|
|
3178
|
+
* |---|---|
|
|
3179
|
+
* | `[eq]` / `[neq]` | Exact equality / inequality. |
|
|
3180
|
+
* | `[match]` | Contains (text search) match; text-like fields only. |
|
|
3181
|
+
* | `[starts]` | Prefix match. Value limited to letters, numbers, `_`, `.`, `-`, and spaces. |
|
|
3182
|
+
* | `[lt]` / `[lte]` / `[gt]` / `[gte]` | Comparisons for number, date, and datetime fields (including `created` / `modified`). |
|
|
3183
|
+
* | `[in]` / `[nin]` | Comma-separated list; matches any (OR) / none of the values. |
|
|
3184
|
+
* | `[all]` | Comma-separated list; list-valued fields (e.g. `labels`, multi-selects) must contain every value (AND). |
|
|
3185
|
+
* | `[def]` | `true` or `false`; whether the field has a value at all. |
|
|
3186
|
+
*
|
|
3187
|
+
* Behavior:
|
|
3188
|
+
*
|
|
3189
|
+
* * Values are single strings, or comma-separated lists for `[in]`,
|
|
3190
|
+
* `[nin]`, and `[all]`. Dates accept `YYYY-MM-DD` or a full datetime
|
|
3191
|
+
* string. An empty value is rejected — use `[def]` to test presence.
|
|
3192
|
+
* * Not every operator is valid for every field; the allowed set depends
|
|
3193
|
+
* on the field's type. An unsupported combination returns HTTP 400
|
|
3194
|
+
* with the supported operators listed.
|
|
3195
|
+
* * Malformed keys, unknown operators, and unknown field names return
|
|
3196
|
+
* HTTP 400.
|
|
3197
|
+
*
|
|
3198
|
+
* Examples:
|
|
3199
|
+
*
|
|
3200
|
+
* * `filters.type[eq]=article` — only entries of type `article`.
|
|
3201
|
+
* * `filters.modified[gte]=2026-01-01` — modified this year.
|
|
3202
|
+
* * `filters.type[eq]=article&filters.fields.brandName[match]=adidas` — field filter scoped to one type.
|
|
3203
|
+
* * `filters.fields.author.slug[eq]=jane-doe` — filter by a referenced entry's slug.
|
|
3204
|
+
*
|
|
3205
|
+
* #### Data projection (`select.*`)
|
|
3206
|
+
*
|
|
3207
|
+
* Projection returns a subset of the response by pruning fields and field
|
|
3208
|
+
* types before values are resolved. The allowed names are project-specific —
|
|
3209
|
+
* they come from the project's content types — which is why `select.*`
|
|
3210
|
+
* parameters are pattern-validated rather than declared as named parameters.
|
|
3211
|
+
*
|
|
3212
|
+
* Syntax: `select.<bucket>[<operator>]=<value>`. Values are comma-separated
|
|
3213
|
+
* lists of names. `*` is the only wildcard and matches zero or more
|
|
3214
|
+
* characters (e.g. `seo_*`).
|
|
3215
|
+
*
|
|
3216
|
+
* | Parameter | Effect |
|
|
3217
|
+
* |---|---|
|
|
3218
|
+
* | `select.fields[only]=a,b` | Keep only the named fields; drop everything else. |
|
|
3219
|
+
* | `select.fields[except]=a,b` | Drop the named fields; keep everything else. |
|
|
3220
|
+
* | `select.fields[locales]=a,b` | For the named fields that survive filtering, return the full per-locale value map instead of only the requested locale's value. |
|
|
3221
|
+
* | `select.fields[blockDepth]=N` | Limit how many levels of block field children are kept. `0` removes all block fields; `preserveAll` prevents projection from trimming fields inside block children. |
|
|
3222
|
+
* | `select.fieldTypes[only]=a,b` | Keep only fields of the named types (type IDs such as `text`, `richText`, `asset`). |
|
|
3223
|
+
* | `select.fieldTypes[except]=a,b` | Drop fields of the named types. |
|
|
3224
|
+
*
|
|
3225
|
+
* The composition-oriented `select.slots.*` operators are also accepted but
|
|
3226
|
+
* have no effect on entry responses (entries have no slots).
|
|
3227
|
+
*
|
|
3228
|
+
* Behavior:
|
|
3229
|
+
*
|
|
3230
|
+
* * Projection applies recursively at every block in the returned entry,
|
|
3231
|
+
* and is forwarded into entries resolved through reference fields.
|
|
3232
|
+
* * When operators combine, all `[only]` sets are intersected first, then
|
|
3233
|
+
* `[except]` sets are subtracted — exclusion always wins.
|
|
3234
|
+
* * Unknown field or type names are silent no-ops (the entry shape is
|
|
3235
|
+
* preserved; non-matching content is simply absent). Unknown operators
|
|
3236
|
+
* return HTTP 400.
|
|
3237
|
+
* * An empty list (`select.fields[only]=`) strips every field; `[except]=*`
|
|
3238
|
+
* is equivalent.
|
|
3239
|
+
*
|
|
3240
|
+
* Examples:
|
|
3241
|
+
*
|
|
3242
|
+
* * `select.fields[only]=title,coverImage` — keep only titles and cover images on every entry in the list.
|
|
3243
|
+
* * `select.fieldTypes[except]=richText` — everything except rich-text fields.
|
|
3244
|
+
* * `select.fields[only]=title,seo_*&select.fields[locales]=seo_*` — lean payload keeping all locales on the SEO fields.
|
|
3154
3245
|
*/
|
|
3155
3246
|
get: {
|
|
3156
3247
|
parameters: {
|
|
@@ -6641,9 +6732,106 @@ interface paths$c {
|
|
|
6641
6732
|
* following query parameter conventions which are pattern-validated and
|
|
6642
6733
|
* therefore not declared as named parameters:
|
|
6643
6734
|
*
|
|
6644
|
-
* * `filters.<field>[<op>]` — content filtering
|
|
6645
|
-
*
|
|
6646
|
-
*
|
|
6735
|
+
* * `filters.<field>[<op>]` — content filtering (documented below).
|
|
6736
|
+
* * `select.<bucket>[<op>]` — data projection (documented below).
|
|
6737
|
+
*
|
|
6738
|
+
* #### Content filtering (`filters.*`)
|
|
6739
|
+
*
|
|
6740
|
+
* Filtering narrows list results to compositions matching field values.
|
|
6741
|
+
* The allowed field names are project-specific — they come from the
|
|
6742
|
+
* project's component definitions — which is why `filters.*` parameters
|
|
6743
|
+
* are pattern-validated rather than declared as named parameters.
|
|
6744
|
+
*
|
|
6745
|
+
* Syntax: `filters.<field>[<operator>]=<value>`. `<field>` is one of:
|
|
6746
|
+
*
|
|
6747
|
+
* * A system field: `name`, `slug`, `type`, `created`, `modified`,
|
|
6748
|
+
* `entityId`, `editionId`, `releaseId`, `patternId`, `creator`,
|
|
6749
|
+
* `creatorSubject`, `author`, `authorSubject`, `projectMapId`,
|
|
6750
|
+
* `projectMapNodeId`, `workflowId`, `workflowStageId`, `categoryId`,
|
|
6751
|
+
* `labels`, `labelGroups`, `uiStatus`, or `locale`.
|
|
6752
|
+
* * A component parameter, addressed as `parameters.<parameterId>`.
|
|
6753
|
+
* Filtering by parameters requires also filtering to a single
|
|
6754
|
+
* composition type (e.g. `filters.type[eq]=...`).
|
|
6755
|
+
* * A sub-property of a parameter for certain parameter types:
|
|
6756
|
+
* content references (`parameters.<id>.slug|name|type`), links
|
|
6757
|
+
* (`parameters.<id>.type|projectMapNodeId`), and assets
|
|
6758
|
+
* (`parameters.<id>.url|title|description|mediaType`).
|
|
6759
|
+
*
|
|
6760
|
+
* | Operator | Effect |
|
|
6761
|
+
* |---|---|
|
|
6762
|
+
* | `[eq]` / `[neq]` | Exact equality / inequality. |
|
|
6763
|
+
* | `[match]` | Contains (text search) match; text-like fields only. |
|
|
6764
|
+
* | `[starts]` | Prefix match. Value limited to letters, numbers, `_`, `.`, `-`, and spaces. |
|
|
6765
|
+
* | `[lt]` / `[lte]` / `[gt]` / `[gte]` | Comparisons for number, date, and datetime fields (including `created` / `modified`). |
|
|
6766
|
+
* | `[in]` / `[nin]` | Comma-separated list; matches any (OR) / none of the values. |
|
|
6767
|
+
* | `[all]` | Comma-separated list; list-valued fields (e.g. `labels`, multi-selects) must contain every value (AND). |
|
|
6768
|
+
* | `[def]` | `true` or `false`; whether the field has a value at all. |
|
|
6769
|
+
*
|
|
6770
|
+
* Behavior:
|
|
6771
|
+
*
|
|
6772
|
+
* * Values are single strings, or comma-separated lists for `[in]`,
|
|
6773
|
+
* `[nin]`, and `[all]`. Dates accept `YYYY-MM-DD` or a full datetime
|
|
6774
|
+
* string. An empty value is rejected — use `[def]` to test presence.
|
|
6775
|
+
* * Not every operator is valid for every field; the allowed set depends
|
|
6776
|
+
* on the field's type. An unsupported combination returns HTTP 400
|
|
6777
|
+
* with the supported operators listed.
|
|
6778
|
+
* * Malformed keys, unknown operators, and unknown field names return
|
|
6779
|
+
* HTTP 400.
|
|
6780
|
+
* * Filters match root compositions only.
|
|
6781
|
+
*
|
|
6782
|
+
* Examples:
|
|
6783
|
+
*
|
|
6784
|
+
* * `filters.type[eq]=landingPage` — only compositions of type `landingPage`.
|
|
6785
|
+
* * `filters.modified[gte]=2026-01-01` — modified this year.
|
|
6786
|
+
* * `filters.type[eq]=landingPage&filters.parameters.audience[in]=b2b,b2c` — parameter filter scoped to one type.
|
|
6787
|
+
* * `filters.labels[all]=approved,featured` — has both labels.
|
|
6788
|
+
*
|
|
6789
|
+
* #### Data projection (`select.*`)
|
|
6790
|
+
*
|
|
6791
|
+
* Projection returns a subset of the response by pruning fields (parameters),
|
|
6792
|
+
* field types, and slots before values are resolved. The allowed names are
|
|
6793
|
+
* project-specific — they come from the project's component definitions and
|
|
6794
|
+
* content types — which is why `select.*` parameters are pattern-validated
|
|
6795
|
+
* rather than declared as named parameters.
|
|
6796
|
+
*
|
|
6797
|
+
* Syntax: `select.<bucket>[<operator>]=<value>`. Values are comma-separated
|
|
6798
|
+
* lists of names. `*` is the only wildcard and matches zero or more
|
|
6799
|
+
* characters (e.g. `seo_*`).
|
|
6800
|
+
*
|
|
6801
|
+
* | Parameter | Effect |
|
|
6802
|
+
* |---|---|
|
|
6803
|
+
* | `select.fields[only]=a,b` | Keep only the named fields/parameters; drop everything else. |
|
|
6804
|
+
* | `select.fields[except]=a,b` | Drop the named fields/parameters; keep everything else. |
|
|
6805
|
+
* | `select.fields[locales]=a,b` | For the named fields that survive filtering, return the full per-locale value map instead of only the requested locale's value. |
|
|
6806
|
+
* | `select.fields[blockDepth]=N` | Limit how many levels of block field children are kept. `0` removes all block fields; `preserveAll` prevents projection from trimming fields inside block children. |
|
|
6807
|
+
* | `select.fieldTypes[only]=a,b` | Keep only fields of the named types (type IDs such as `text`, `richText`, `asset`). |
|
|
6808
|
+
* | `select.fieldTypes[except]=a,b` | Drop fields of the named types. |
|
|
6809
|
+
* | `select.slots[only]=a,b` | Keep only the named slots. |
|
|
6810
|
+
* | `select.slots[except]=a,b` | Drop the named slots. |
|
|
6811
|
+
* | `select.slots[depth]=N` | Limit how many levels of nested components are kept in slots. |
|
|
6812
|
+
* | `select.slots.<name>[depth]=N` | Depth limit for one specific slot; overrides `slots[depth]`. |
|
|
6813
|
+
*
|
|
6814
|
+
* Behavior:
|
|
6815
|
+
*
|
|
6816
|
+
* * Projection applies recursively at every component and block in the
|
|
6817
|
+
* returned tree, and is forwarded into entries resolved through reference
|
|
6818
|
+
* fields.
|
|
6819
|
+
* * When operators combine, all `[only]` sets are intersected first, then
|
|
6820
|
+
* `[except]` sets are subtracted — exclusion always wins.
|
|
6821
|
+
* * Unknown field, slot, or type names are silent no-ops (the tree shape is
|
|
6822
|
+
* preserved; non-matching content is simply absent). Unknown operators
|
|
6823
|
+
* return HTTP 400.
|
|
6824
|
+
* * An empty list (`select.fields[only]=` or `select.slots[only]=`) strips
|
|
6825
|
+
* every member of that bucket; `[except]=*` is equivalent.
|
|
6826
|
+
* * `[depth]` counts nesting within a single fetched tree and resets inside
|
|
6827
|
+
* referenced entries.
|
|
6828
|
+
*
|
|
6829
|
+
* Examples:
|
|
6830
|
+
*
|
|
6831
|
+
* * `select.fields[only]=title,slug` — keep only titles and slugs, everywhere in the tree.
|
|
6832
|
+
* * `select.fieldTypes[except]=richText` — everything except rich-text fields.
|
|
6833
|
+
* * `select.fields[only]=title&select.slots[only]=` — root title only, with all slots flattened.
|
|
6834
|
+
* * `select.slots[depth]=2&select.fields[only]=label,url` — two levels of nested components, trimmed to `label` and `url`.
|
|
6647
6835
|
*/
|
|
6648
6836
|
get: {
|
|
6649
6837
|
parameters: {
|
|
@@ -9465,8 +9653,55 @@ interface paths$a {
|
|
|
9465
9653
|
* @description Fetches the correct response action for a given route (redirection, composition, not found).
|
|
9466
9654
|
*
|
|
9467
9655
|
* In addition to the named parameters below, this endpoint accepts data projection syntax:
|
|
9468
|
-
* `select.<bucket>[<op>]` —
|
|
9469
|
-
*
|
|
9656
|
+
* `select.<bucket>[<op>]` — documented below.
|
|
9657
|
+
*
|
|
9658
|
+
* #### Data projection (`select.*`)
|
|
9659
|
+
*
|
|
9660
|
+
* Projection returns a subset of the matched composition by pruning fields
|
|
9661
|
+
* (parameters), field types, and slots before values are resolved. It only
|
|
9662
|
+
* applies when the route resolves to a composition; redirect and notFound
|
|
9663
|
+
* responses are returned unchanged. The allowed names are project-specific —
|
|
9664
|
+
* they come from the project's component definitions and content types —
|
|
9665
|
+
* which is why `select.*` parameters are pattern-validated rather than
|
|
9666
|
+
* declared as named parameters.
|
|
9667
|
+
*
|
|
9668
|
+
* Syntax: `select.<bucket>[<operator>]=<value>`. Values are comma-separated
|
|
9669
|
+
* lists of names. `*` is the only wildcard and matches zero or more
|
|
9670
|
+
* characters (e.g. `seo_*`).
|
|
9671
|
+
*
|
|
9672
|
+
* | Parameter | Effect |
|
|
9673
|
+
* |---|---|
|
|
9674
|
+
* | `select.fields[only]=a,b` | Keep only the named fields/parameters; drop everything else. |
|
|
9675
|
+
* | `select.fields[except]=a,b` | Drop the named fields/parameters; keep everything else. |
|
|
9676
|
+
* | `select.fields[locales]=a,b` | For the named fields that survive filtering, return the full per-locale value map instead of only the requested locale's value. |
|
|
9677
|
+
* | `select.fields[blockDepth]=N` | Limit how many levels of block field children are kept. `0` removes all block fields; `preserveAll` prevents projection from trimming fields inside block children. |
|
|
9678
|
+
* | `select.fieldTypes[only]=a,b` | Keep only fields of the named types (type IDs such as `text`, `richText`, `asset`). |
|
|
9679
|
+
* | `select.fieldTypes[except]=a,b` | Drop fields of the named types. |
|
|
9680
|
+
* | `select.slots[only]=a,b` | Keep only the named slots. |
|
|
9681
|
+
* | `select.slots[except]=a,b` | Drop the named slots. |
|
|
9682
|
+
* | `select.slots[depth]=N` | Limit how many levels of nested components are kept in slots. |
|
|
9683
|
+
* | `select.slots.<name>[depth]=N` | Depth limit for one specific slot; overrides `slots[depth]`. |
|
|
9684
|
+
*
|
|
9685
|
+
* Behavior:
|
|
9686
|
+
*
|
|
9687
|
+
* * Projection applies recursively at every component and block in the
|
|
9688
|
+
* returned tree, and is forwarded into entries resolved through reference
|
|
9689
|
+
* fields.
|
|
9690
|
+
* * When operators combine, all `[only]` sets are intersected first, then
|
|
9691
|
+
* `[except]` sets are subtracted — exclusion always wins.
|
|
9692
|
+
* * Unknown field, slot, or type names are silent no-ops (the tree shape is
|
|
9693
|
+
* preserved; non-matching content is simply absent). Unknown operators
|
|
9694
|
+
* return HTTP 400.
|
|
9695
|
+
* * An empty list (`select.fields[only]=` or `select.slots[only]=`) strips
|
|
9696
|
+
* every member of that bucket; `[except]=*` is equivalent.
|
|
9697
|
+
* * `[depth]` counts nesting within a single fetched tree and resets inside
|
|
9698
|
+
* referenced entries.
|
|
9699
|
+
*
|
|
9700
|
+
* Examples:
|
|
9701
|
+
*
|
|
9702
|
+
* * `select.fields[only]=title,slug&select.slots[only]=` — title and slug of the resolved page with all slots flattened (e.g. for breadcrumbs).
|
|
9703
|
+
* * `select.fieldTypes[except]=richText` — everything except rich-text fields.
|
|
9704
|
+
* * `select.slots[depth]=2&select.fields[only]=label,url` — two levels of nested components, trimmed to `label` and `url`.
|
|
9470
9705
|
*/
|
|
9471
9706
|
get: {
|
|
9472
9707
|
parameters: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uniformdev/canvas",
|
|
3
|
-
"version": "20.72.3-alpha.
|
|
3
|
+
"version": "20.72.3-alpha.5+87cd60cb2e",
|
|
4
4
|
"description": "Common functionality and types for Uniform Canvas",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"svix": "1.96.0"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@uniformdev/assets": "20.72.3-alpha.
|
|
40
|
-
"@uniformdev/context": "20.72.3-alpha.
|
|
41
|
-
"@uniformdev/richtext": "20.72.3-alpha.
|
|
39
|
+
"@uniformdev/assets": "20.72.3-alpha.5+87cd60cb2e",
|
|
40
|
+
"@uniformdev/context": "20.72.3-alpha.5+87cd60cb2e",
|
|
41
|
+
"@uniformdev/richtext": "20.72.3-alpha.5+87cd60cb2e",
|
|
42
42
|
"immer": "11.1.8",
|
|
43
43
|
"p-limit": "6.2.0",
|
|
44
44
|
"p-retry": "6.2.1",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"publishConfig": {
|
|
51
51
|
"access": "public"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "87cd60cb2eae75aac26c8c51566e66281c3921f9"
|
|
54
54
|
}
|