picked 0.0.101-next.2 → 0.0.101

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 (175) hide show
  1. package/README.md +27 -12
  2. package/docs/explanation/conditions-and-the-logic-engine.md +94 -0
  3. package/docs/explanation/content-references.md +99 -0
  4. package/docs/explanation/feature-flag-allocation.md +218 -0
  5. package/docs/explanation/how-picked-works.md +124 -0
  6. package/docs/explanation/how-pickedql-works.md +76 -0
  7. package/docs/explanation/pages-and-flows.md +64 -0
  8. package/docs/explanation/the-content-model.md +87 -0
  9. package/docs/explanation/the-two-apis.md +68 -0
  10. package/docs/explanation/why-server-side-rendering.md +76 -0
  11. package/docs/explanation/workspaces-and-versions.md +71 -0
  12. package/docs/how-to/add-a-step-field-or-action.md +56 -0
  13. package/docs/how-to/analytics/index.md +324 -0
  14. package/docs/how-to/archive-or-delete-a-workspace.md +59 -0
  15. package/docs/how-to/authenticate-the-cli.md +101 -0
  16. package/docs/how-to/authenticate-with-a-magic-link.md +56 -0
  17. package/docs/how-to/authenticate-with-a-password.md +68 -0
  18. package/docs/how-to/authenticate-with-an-api-key.md +60 -0
  19. package/docs/how-to/authenticate-with-oauth.md +49 -0
  20. package/docs/how-to/build-a-flow.md +106 -0
  21. package/docs/how-to/call-an-external-api-from-a-workflow.md +116 -0
  22. package/docs/how-to/connect-the-mcp-server.md +46 -0
  23. package/docs/how-to/create-a-content-entry.md +58 -0
  24. package/docs/how-to/create-a-project.md +40 -0
  25. package/docs/how-to/create-an-experience.md +51 -0
  26. package/docs/how-to/create-and-revoke-an-api-key.md +54 -0
  27. package/docs/how-to/debug-with-the-chrome-extension.md +57 -0
  28. package/docs/how-to/define-a-page-layout.md +54 -0
  29. package/docs/how-to/fill-and-publish-a-page.md +82 -0
  30. package/docs/how-to/install-the-gtm-template.md +84 -0
  31. package/docs/how-to/install-the-sdk.md +93 -0
  32. package/docs/how-to/install-the-vite-plugin.md +69 -0
  33. package/docs/how-to/invite-and-remove-members.md +45 -0
  34. package/docs/how-to/point-one-entry-at-another.md +75 -0
  35. package/docs/how-to/preview-a-workspace.md +39 -0
  36. package/docs/how-to/publish-a-workspace.md +42 -0
  37. package/docs/how-to/read-a-feature-flag.md +113 -0
  38. package/docs/how-to/read-a-referenced-entry.md +109 -0
  39. package/docs/how-to/register-a-component.md +55 -0
  40. package/docs/how-to/register-an-action-handler.md +85 -0
  41. package/docs/how-to/register-an-api-that-uses-oauth2.md +107 -0
  42. package/docs/how-to/render-a-step-form.md +131 -0
  43. package/docs/how-to/render-an-unpublished-preview.md +41 -0
  44. package/docs/how-to/retry-a-failed-call-with-a-loop.md +81 -0
  45. package/docs/how-to/reuse-a-section.md +64 -0
  46. package/docs/how-to/reuse-a-step-field-or-action.md +39 -0
  47. package/docs/how-to/roll-back-a-published-version.md +39 -0
  48. package/docs/how-to/run-an-ab-test.md +59 -0
  49. package/docs/how-to/run-code-on-a-form-submission.md +125 -0
  50. package/docs/how-to/server-render-a-page.md +81 -0
  51. package/docs/how-to/set-a-content-security-policy.md +32 -0
  52. package/docs/how-to/set-up-mfa.md +126 -0
  53. package/docs/how-to/switch-workspaces.md +122 -0
  54. package/docs/how-to/upload-and-use-an-asset.mdx +87 -0
  55. package/docs/how-to/validate-a-field.md +52 -0
  56. package/docs/how-to/wait-for-an-action-response.md +182 -0
  57. package/docs/how-to/write-a-condition.md +57 -0
  58. package/docs/how-to/write-a-predicate.md +60 -0
  59. package/docs/index.md +59 -0
  60. package/docs/reference/dashboard/actions.mdx +65 -0
  61. package/docs/reference/dashboard/api-keys.mdx +47 -0
  62. package/docs/reference/dashboard/conditions.mdx +51 -0
  63. package/docs/reference/dashboard/content/asset-library.mdx +74 -0
  64. package/docs/reference/dashboard/content/blocks.mdx +66 -0
  65. package/docs/reference/dashboard/content/content-entries.mdx +109 -0
  66. package/docs/reference/dashboard/content/models.mdx +119 -0
  67. package/docs/reference/dashboard/content/pages.mdx +72 -0
  68. package/docs/reference/dashboard/experiences.mdx +61 -0
  69. package/docs/reference/dashboard/external-apis.md +182 -0
  70. package/docs/reference/dashboard/features.mdx +165 -0
  71. package/docs/reference/dashboard/fields.mdx +120 -0
  72. package/docs/reference/dashboard/flow-builder/canvas.mdx +58 -0
  73. package/docs/reference/dashboard/flow-builder/condition-builder.md +69 -0
  74. package/docs/reference/dashboard/flow-builder/keyboard-shortcuts.md +72 -0
  75. package/docs/reference/dashboard/flow-builder/nodes.md +74 -0
  76. package/docs/reference/dashboard/labels.md +321 -0
  77. package/docs/reference/dashboard/lead-search.md +235 -0
  78. package/docs/reference/dashboard/projects.mdx +53 -0
  79. package/docs/reference/dashboard/reports.mdx +53 -0
  80. package/docs/reference/dashboard/steps.mdx +47 -0
  81. package/docs/reference/dashboard/team-management.md +38 -0
  82. package/docs/reference/dashboard/workflow-runs.md +157 -0
  83. package/docs/reference/dashboard/workflow-templates.md +182 -0
  84. package/docs/reference/dashboard/workflow-test-runs.md +85 -0
  85. package/docs/reference/dashboard/workspace-versioning.mdx +42 -0
  86. package/docs/reference/dashboard/workspaces.mdx +91 -0
  87. package/docs/reference/delivery-api/experience-content.md +152 -0
  88. package/docs/reference/delivery-api/index.md +45 -0
  89. package/docs/reference/delivery-api/preview-caching-crawling.md +79 -0
  90. package/docs/reference/delivery-api/project-config.md +65 -0
  91. package/docs/reference/delivery-api/workspace-schema.md +107 -0
  92. package/docs/reference/glossary.md +201 -0
  93. package/docs/reference/management-api/authentication.md +87 -0
  94. package/docs/reference/management-api/authorization-and-scopes.md +291 -0
  95. package/docs/reference/management-api/error-handling.md +232 -0
  96. package/docs/reference/management-api/pagination.md +192 -0
  97. package/docs/reference/management-api/schema/action.md +261 -0
  98. package/docs/reference/management-api/schema/analytics-session.md +363 -0
  99. package/docs/reference/management-api/schema/analytics.md +73 -0
  100. package/docs/reference/management-api/schema/api-key.md +170 -0
  101. package/docs/reference/management-api/schema/auth.md +1177 -0
  102. package/docs/reference/management-api/schema/cms-fields.md +954 -0
  103. package/docs/reference/management-api/schema/cms-models.md +1155 -0
  104. package/docs/reference/management-api/schema/common.md +362 -0
  105. package/docs/reference/management-api/schema/condition.md +254 -0
  106. package/docs/reference/management-api/schema/design-system.md +199 -0
  107. package/docs/reference/management-api/schema/experience.md +1098 -0
  108. package/docs/reference/management-api/schema/external-api.md +637 -0
  109. package/docs/reference/management-api/schema/feature.md +350 -0
  110. package/docs/reference/management-api/schema/feedback.md +103 -0
  111. package/docs/reference/management-api/schema/field.md +400 -0
  112. package/docs/reference/management-api/schema/index.md +243 -0
  113. package/docs/reference/management-api/schema/integration.md +272 -0
  114. package/docs/reference/management-api/schema/label.md +349 -0
  115. package/docs/reference/management-api/schema/lead.md +340 -0
  116. package/docs/reference/management-api/schema/mcp-server.md +299 -0
  117. package/docs/reference/management-api/schema/metric.md +223 -0
  118. package/docs/reference/management-api/schema/operation.md +96 -0
  119. package/docs/reference/management-api/schema/organization.md +749 -0
  120. package/docs/reference/management-api/schema/project.md +607 -0
  121. package/docs/reference/management-api/schema/report.md +243 -0
  122. package/docs/reference/management-api/schema/saved-view.md +288 -0
  123. package/docs/reference/management-api/schema/shopify.md +795 -0
  124. package/docs/reference/management-api/schema/step.md +273 -0
  125. package/docs/reference/management-api/schema/tenant-branding.md +185 -0
  126. package/docs/reference/management-api/schema/workbench.md +246 -0
  127. package/docs/reference/management-api/schema/workflow-run.md +263 -0
  128. package/docs/reference/management-api/schema/workflow.md +1110 -0
  129. package/docs/reference/management-api/schema/workspace-version.md +823 -0
  130. package/docs/reference/management-api/schema/workspace.md +917 -0
  131. package/docs/reference/pickedql/data-sources.md +174 -0
  132. package/docs/reference/pickedql/dimensions.md +103 -0
  133. package/docs/reference/pickedql/filtering.md +64 -0
  134. package/docs/reference/pickedql/index.md +18 -0
  135. package/docs/reference/pickedql/schema.md +172 -0
  136. package/docs/reference/pickedql/virtual-functions.md +248 -0
  137. package/docs/reference/sdk/actions.md +154 -0
  138. package/docs/reference/sdk/analytics-events.md +453 -0
  139. package/docs/reference/sdk/conditions.md +147 -0
  140. package/docs/reference/sdk/content-security-policy.md +21 -0
  141. package/docs/reference/sdk/content.md +253 -0
  142. package/docs/reference/sdk/experiences.md +51 -0
  143. package/docs/reference/sdk/features.md +256 -0
  144. package/docs/reference/sdk/fields.md +255 -0
  145. package/docs/reference/sdk/index.md +68 -0
  146. package/docs/reference/sdk/plugins/create-experience.md +123 -0
  147. package/docs/reference/sdk/plugins/dynamic-experiences.md +74 -0
  148. package/docs/reference/sdk/plugins/fingerprintjs.md +39 -0
  149. package/docs/reference/sdk/plugins/hotjar.md +60 -0
  150. package/docs/reference/sdk/plugins/index.md +33 -0
  151. package/docs/reference/sdk/plugins/sentry.md +51 -0
  152. package/docs/reference/sdk/plugins/shopify.md +109 -0
  153. package/docs/reference/sdk/plugins/window-object.md +25 -0
  154. package/docs/reference/sdk/predicates.md +43 -0
  155. package/docs/reference/sdk/react.md +61 -0
  156. package/docs/reference/sdk/ssr/index.md +33 -0
  157. package/docs/reference/sdk/ssr/rendering-and-hydration.md +103 -0
  158. package/docs/reference/sdk/ssr/serialize.md +80 -0
  159. package/docs/reference/sdk/ssr/slots-and-placements.md +113 -0
  160. package/docs/reference/sdk/steps.md +86 -0
  161. package/docs/reference/sdk/svelte.md +74 -0
  162. package/docs/reference/sdk/type-generation.md +265 -0
  163. package/docs/reference/tools/admin-api-client.md +89 -0
  164. package/docs/reference/tools/chrome-extension.md +16 -0
  165. package/docs/reference/tools/cli.md +319 -0
  166. package/docs/reference/tools/delivery-api-client.md +60 -0
  167. package/docs/reference/tools/image-optimisation-service.md +104 -0
  168. package/docs/reference/tools/mcp-run.md +121 -0
  169. package/docs/reference/tools/mcp.md +391 -0
  170. package/docs/reference/tools/vite-plugin.md +163 -0
  171. package/docs/tutorials/first-api-call.md +253 -0
  172. package/docs/tutorials/first-experience-in-the-dashboard.mdx +160 -0
  173. package/docs/tutorials/first-experience.mdx +254 -0
  174. package/docs/tutorials/first-server-rendered-page.mdx +186 -0
  175. package/package.json +8 -7
@@ -0,0 +1,954 @@
1
+ ---
2
+ type: reference
3
+ layout: docs
4
+ generated: true
5
+ ---
6
+
7
+ # Cms fields schema
8
+
9
+ The operations and types that `cms-fields.graphql` adds to the Management API. See [Management API schema](/reference/management-api/schema) for every domain, the endpoint and authentication.
10
+
11
+ ## Types
12
+
13
+ ### `ContentFieldType`
14
+
15
+ ```graphql
16
+ """All Content field kinds supported by the v1 schema editor."""
17
+ enum ContentFieldType {
18
+ """Single-line text input."""
19
+ SINGLE_LINE_TEXT
20
+ """Multi-line text input."""
21
+ MULTI_LINE_TEXT
22
+ """Markdown-formatted text input."""
23
+ MARKDOWN
24
+ """URL-friendly slug input."""
25
+ SLUG
26
+ """Numeric input (integer or decimal)."""
27
+ NUMBER
28
+ """Boolean (checkbox / toggle)."""
29
+ BOOLEAN
30
+ """ISO date or date-time input."""
31
+ DATE
32
+ """Free-form JSON value."""
33
+ JSON
34
+ """Reference to a binary Asset (image, video, document)."""
35
+ ASSET
36
+ """Reference to an HTML-document Asset (an uploaded `.html` file)."""
37
+ HTML_ASSET
38
+ """Hex colour value (`#rrggbb`)."""
39
+ COLOR
40
+ """Embedded `ContentBlock` instance."""
41
+ CONTENT_BLOCK
42
+ """Nested group of fields (sub-schema)."""
43
+ GROUP
44
+ """
45
+ Reference to one or more other `ContentEntry` rows, optionally constrained to a target `ContentModel`.
46
+ """
47
+ REFERENCE
48
+ }
49
+ ```
50
+
51
+ ### `TextFormat`
52
+
53
+ ```graphql
54
+ """
55
+ Format hint applied to string-valued single-line text fields. Controls how the editor renders the input and how the value is validated.
56
+ """
57
+ enum TextFormat {
58
+ """Plain text — no extra validation."""
59
+ PLAIN
60
+ """URL — must parse as a URL."""
61
+ URL
62
+ """Email address — must match RFC-5322 email syntax."""
63
+ EMAIL
64
+ """Slug — must match `[a-z0-9-]+`."""
65
+ SLUG
66
+ }
67
+ ```
68
+
69
+ ### `ContentSchema`
70
+
71
+ ```graphql
72
+ """
73
+ A strongly-typed CMS schema — list of field definitions. Used as the value of `ContentModel.schema` and `ContentBlock.schema`.
74
+ """
75
+ type ContentSchema {
76
+ """The field definitions making up the schema."""
77
+ fields: [ContentFieldDefinition!]!
78
+ }
79
+ ```
80
+
81
+ ### `ContentFieldDefinition`
82
+
83
+ ```graphql
84
+ """
85
+ One field definition inside a Content Schema. Implementations carry the
86
+ per-kind extras (text format, number bounds, content-block category,
87
+ group nested fields). Use `__typename` to discriminate.
88
+ """
89
+ interface ContentFieldDefinition {
90
+ """
91
+ Stable machine identifier — used as the key inside `ContentEntry.data`.
92
+ """
93
+ key: String!
94
+ """Human-readable label shown in the editor."""
95
+ name: String!
96
+ """Optional author-facing description of the field's purpose."""
97
+ description: String
98
+ """Field kind discriminator — also encoded in `__typename`."""
99
+ type: ContentFieldType!
100
+ """When true, the value is stored as a list."""
101
+ repeatable: Boolean!
102
+ """When true, validation rejects null / missing values."""
103
+ required: Boolean!
104
+ }
105
+ ```
106
+
107
+ ### `SingleLineTextFieldDefinition`
108
+
109
+ ```graphql
110
+ """Single-line text field definition."""
111
+ type SingleLineTextFieldDefinition implements ContentFieldDefinition {
112
+ key: String!
113
+ name: String!
114
+ description: String
115
+ type: ContentFieldType!
116
+ repeatable: Boolean!
117
+ required: Boolean!
118
+ """When non-PLAIN, the value must match this format. Default `PLAIN`."""
119
+ format: TextFormat!
120
+ """Optional anchored regex applied after the format check."""
121
+ pattern: String
122
+ """Minimum number of characters (inclusive)."""
123
+ minLength: Int
124
+ """Maximum number of characters (inclusive)."""
125
+ maxLength: Int
126
+ }
127
+ ```
128
+
129
+ ### `MultiLineTextFieldDefinition`
130
+
131
+ ```graphql
132
+ """Multi-line text field definition."""
133
+ type MultiLineTextFieldDefinition implements ContentFieldDefinition {
134
+ key: String!
135
+ name: String!
136
+ description: String
137
+ type: ContentFieldType!
138
+ repeatable: Boolean!
139
+ required: Boolean!
140
+ """Minimum number of characters (inclusive)."""
141
+ minLength: Int
142
+ """Maximum number of characters (inclusive)."""
143
+ maxLength: Int
144
+ }
145
+ ```
146
+
147
+ ### `MarkdownFieldDefinition`
148
+
149
+ ```graphql
150
+ """Markdown field definition. No per-kind extras."""
151
+ type MarkdownFieldDefinition implements ContentFieldDefinition {
152
+ key: String!
153
+ name: String!
154
+ description: String
155
+ type: ContentFieldType!
156
+ repeatable: Boolean!
157
+ required: Boolean!
158
+ }
159
+ ```
160
+
161
+ ### `SlugFieldDefinition`
162
+
163
+ ```graphql
164
+ """Slug field definition. Slugs may optionally derive from another field."""
165
+ type SlugFieldDefinition implements ContentFieldDefinition {
166
+ key: String!
167
+ name: String!
168
+ description: String
169
+ type: ContentFieldType!
170
+ repeatable: Boolean!
171
+ required: Boolean!
172
+ """When set, the slug derives from another field's value (e.g. `title`)."""
173
+ derivedFromKey: String
174
+ }
175
+ ```
176
+
177
+ ### `NumberFieldDefinition`
178
+
179
+ ```graphql
180
+ """Number field definition."""
181
+ type NumberFieldDefinition implements ContentFieldDefinition {
182
+ key: String!
183
+ name: String!
184
+ description: String
185
+ type: ContentFieldType!
186
+ repeatable: Boolean!
187
+ required: Boolean!
188
+ """Minimum value (inclusive)."""
189
+ min: Float
190
+ """Maximum value (inclusive)."""
191
+ max: Float
192
+ """When true, the value must be an integer."""
193
+ integerOnly: Boolean!
194
+ }
195
+ ```
196
+
197
+ ### `BooleanFieldDefinition`
198
+
199
+ ```graphql
200
+ """Boolean field definition. No per-kind extras."""
201
+ type BooleanFieldDefinition implements ContentFieldDefinition {
202
+ key: String!
203
+ name: String!
204
+ description: String
205
+ type: ContentFieldType!
206
+ repeatable: Boolean!
207
+ required: Boolean!
208
+ }
209
+ ```
210
+
211
+ ### `DateFieldDefinition`
212
+
213
+ ```graphql
214
+ """Date field definition. Optionally includes the time component."""
215
+ type DateFieldDefinition implements ContentFieldDefinition {
216
+ key: String!
217
+ name: String!
218
+ description: String
219
+ type: ContentFieldType!
220
+ repeatable: Boolean!
221
+ required: Boolean!
222
+ """
223
+ When true, the value carries both date and time. When false, time is stripped.
224
+ """
225
+ includeTime: Boolean!
226
+ }
227
+ ```
228
+
229
+ ### `JsonFieldDefinition`
230
+
231
+ ```graphql
232
+ """JSON field definition — escape hatch for unstructured shapes."""
233
+ type JsonFieldDefinition implements ContentFieldDefinition {
234
+ key: String!
235
+ name: String!
236
+ description: String
237
+ type: ContentFieldType!
238
+ repeatable: Boolean!
239
+ required: Boolean!
240
+ }
241
+ ```
242
+
243
+ ### `AssetFieldDefinition`
244
+
245
+ ```graphql
246
+ """
247
+ Asset field definition. Restricts which Assets can be referenced by MIME, size, and (for images) intrinsic dimensions.
248
+ """
249
+ type AssetFieldDefinition implements ContentFieldDefinition {
250
+ key: String!
251
+ name: String!
252
+ description: String
253
+ type: ContentFieldType!
254
+ repeatable: Boolean!
255
+ required: Boolean!
256
+ """
257
+ Allowlist of accepted MIME types (e.g. `["image/png", "image/jpeg"]`). When set, the codec rejects assets whose `mimeType` is not in the list.
258
+ """
259
+ acceptedMimeTypes: [String!]
260
+ """Maximum file size in bytes. The codec rejects assets larger than this."""
261
+ maxBytes: Int
262
+ """
263
+ Image-only: minimum width in pixels. Applied when the asset's MIME type begins with `image/`.
264
+ """
265
+ minWidth: Int
266
+ """Image-only: maximum width in pixels."""
267
+ maxWidth: Int
268
+ """Image-only: minimum height in pixels."""
269
+ minHeight: Int
270
+ """Image-only: maximum height in pixels."""
271
+ maxHeight: Int
272
+ }
273
+ ```
274
+
275
+ ### `HtmlAssetFieldDefinition`
276
+
277
+ ```graphql
278
+ """
279
+ HTML-asset field definition. Like `AssetFieldDefinition` but the referenced Asset is always an uploaded `.html` file (`text/html`); only the file-size cap is author-configurable.
280
+ """
281
+ type HtmlAssetFieldDefinition implements ContentFieldDefinition {
282
+ key: String!
283
+ name: String!
284
+ description: String
285
+ type: ContentFieldType!
286
+ repeatable: Boolean!
287
+ required: Boolean!
288
+ """Maximum file size in bytes. The codec rejects assets larger than this."""
289
+ maxBytes: Int
290
+ }
291
+ ```
292
+
293
+ ### `ColorFieldDefinition`
294
+
295
+ ```graphql
296
+ """Color field definition. Values are lowercase hex with leading `#`."""
297
+ type ColorFieldDefinition implements ContentFieldDefinition {
298
+ key: String!
299
+ name: String!
300
+ description: String
301
+ type: ContentFieldType!
302
+ repeatable: Boolean!
303
+ required: Boolean!
304
+ }
305
+ ```
306
+
307
+ ### `ContentBlockFieldDefinition`
308
+
309
+ ```graphql
310
+ """
311
+ Content Block field definition — embeds Block instances of the configured category.
312
+ """
313
+ type ContentBlockFieldDefinition implements ContentFieldDefinition {
314
+ key: String!
315
+ name: String!
316
+ description: String
317
+ type: ContentFieldType!
318
+ repeatable: Boolean!
319
+ required: Boolean!
320
+ """
321
+ The Content Block category whose Blocks may be embedded here. Null means any category may be embedded.
322
+ """
323
+ contentBlockCategory: ContentBlockCategory
324
+ }
325
+ ```
326
+
327
+ ### `GroupFieldDefinition`
328
+
329
+ ```graphql
330
+ """Group field definition — nests a sub-schema."""
331
+ type GroupFieldDefinition implements ContentFieldDefinition {
332
+ key: String!
333
+ name: String!
334
+ description: String
335
+ type: ContentFieldType!
336
+ repeatable: Boolean!
337
+ required: Boolean!
338
+ """
339
+ Nested field definitions (max nesting depth 3 enforced by the validator).
340
+ """
341
+ nestedFields: [ContentFieldDefinition!]!
342
+ }
343
+ ```
344
+
345
+ ### `ReferenceFieldDefinition`
346
+
347
+ ```graphql
348
+ """
349
+ Reference field definition — points at one or more other Content Entries.
350
+ """
351
+ type ReferenceFieldDefinition implements ContentFieldDefinition {
352
+ key: String!
353
+ name: String!
354
+ description: String
355
+ type: ContentFieldType!
356
+ repeatable: Boolean!
357
+ required: Boolean!
358
+ """
359
+ The target Content Model `key` whose entries may be referenced. Null means any Content Model in the workspace may be referenced.
360
+ """
361
+ contentModelKey: String
362
+ }
363
+ ```
364
+
365
+ ### `ContentEntryData`
366
+
367
+ ```graphql
368
+ """
369
+ Strongly-typed Content Entry data. Reused as the body of `GroupFieldValue` and `EmbeddedContentBlock` (same shape, different nesting position).
370
+ """
371
+ type ContentEntryData {
372
+ """
373
+ The values keyed by field key — order matches the parent schema's `fields`.
374
+ """
375
+ values: [ContentFieldValue!]!
376
+ }
377
+ ```
378
+
379
+ ### `ContentFieldValue`
380
+
381
+ ```graphql
382
+ """
383
+ One value inside a Content Entry. The `__typename` discriminates the
384
+ kind; the corresponding singular / plural field carries the value
385
+ (singular when the parent field is not repeatable, plural otherwise).
386
+ """
387
+ interface ContentFieldValue {
388
+ """The field key from the parent schema."""
389
+ key: String!
390
+ """Field kind discriminator — also encoded in `__typename`."""
391
+ type: ContentFieldType!
392
+ }
393
+ ```
394
+
395
+ ### `SingleLineTextFieldValue`
396
+
397
+ ```graphql
398
+ """Single-line text value."""
399
+ type SingleLineTextFieldValue implements ContentFieldValue {
400
+ key: String!
401
+ type: ContentFieldType!
402
+ """Singular value when the field is not repeatable."""
403
+ text: String
404
+ """Plural values when the field is repeatable."""
405
+ texts: [String!]
406
+ }
407
+ ```
408
+
409
+ ### `MultiLineTextFieldValue`
410
+
411
+ ```graphql
412
+ """Multi-line text value."""
413
+ type MultiLineTextFieldValue implements ContentFieldValue {
414
+ key: String!
415
+ type: ContentFieldType!
416
+ """Singular value when the field is not repeatable."""
417
+ text: String
418
+ """Plural values when the field is repeatable."""
419
+ texts: [String!]
420
+ }
421
+ ```
422
+
423
+ ### `MarkdownFieldValue`
424
+
425
+ ```graphql
426
+ """Markdown value."""
427
+ type MarkdownFieldValue implements ContentFieldValue {
428
+ key: String!
429
+ type: ContentFieldType!
430
+ """Singular value when the field is not repeatable."""
431
+ markdown: String
432
+ """Plural values when the field is repeatable."""
433
+ markdowns: [String!]
434
+ }
435
+ ```
436
+
437
+ ### `SlugFieldValue`
438
+
439
+ ```graphql
440
+ """Slug value."""
441
+ type SlugFieldValue implements ContentFieldValue {
442
+ key: String!
443
+ type: ContentFieldType!
444
+ """Singular value when the field is not repeatable."""
445
+ slug: String
446
+ """Plural values when the field is repeatable."""
447
+ slugs: [String!]
448
+ }
449
+ ```
450
+
451
+ ### `NumberFieldValue`
452
+
453
+ ```graphql
454
+ """Number value."""
455
+ type NumberFieldValue implements ContentFieldValue {
456
+ key: String!
457
+ type: ContentFieldType!
458
+ """Singular value when the field is not repeatable."""
459
+ number: Float
460
+ """Plural values when the field is repeatable."""
461
+ numbers: [Float!]
462
+ }
463
+ ```
464
+
465
+ ### `BooleanFieldValue`
466
+
467
+ ```graphql
468
+ """Boolean value."""
469
+ type BooleanFieldValue implements ContentFieldValue {
470
+ key: String!
471
+ type: ContentFieldType!
472
+ """Singular value when the field is not repeatable."""
473
+ boolean: Boolean
474
+ """Plural values when the field is repeatable."""
475
+ booleans: [Boolean!]
476
+ }
477
+ ```
478
+
479
+ ### `DateFieldValue`
480
+
481
+ ```graphql
482
+ """Date / date-time value."""
483
+ type DateFieldValue implements ContentFieldValue {
484
+ key: String!
485
+ type: ContentFieldType!
486
+ """Singular value when the field is not repeatable."""
487
+ date: IsoDate
488
+ """Plural values when the field is repeatable."""
489
+ dates: [IsoDate!]
490
+ }
491
+ ```
492
+
493
+ ### `JsonFieldValue`
494
+
495
+ ```graphql
496
+ """JSON value — escape hatch preserved as-is."""
497
+ type JsonFieldValue implements ContentFieldValue {
498
+ key: String!
499
+ type: ContentFieldType!
500
+ """Singular JSON value when the field is not repeatable."""
501
+ json: JSON
502
+ """Plural JSON values when the field is repeatable."""
503
+ jsons: [JSON!]
504
+ }
505
+ ```
506
+
507
+ ### `AssetRef`
508
+
509
+ ```graphql
510
+ """
511
+ An asset reference resolved to the specific version it is pinned to (or its
512
+ oldest-version fallback for a legacy reference).
513
+ """
514
+ type AssetRef {
515
+ """
516
+ The referenced Asset. Its top-level byte fields reflect the CURRENT version;
517
+ read `version` for the pinned version's bytes.
518
+ """
519
+ asset: Asset!
520
+ """
521
+ The pinned (or oldest-fallback) version. Null only on a version loader miss.
522
+ """
523
+ version: AssetVersion
524
+ }
525
+ ```
526
+
527
+ ### `AssetFieldValue`
528
+
529
+ ```graphql
530
+ """Asset reference value."""
531
+ type AssetFieldValue implements ContentFieldValue {
532
+ key: String!
533
+ type: ContentFieldType!
534
+ """Singular Asset reference when the field is not repeatable."""
535
+ assetRef: AssetRef
536
+ """Plural Asset references when the field is repeatable."""
537
+ assetRefs: [AssetRef!]
538
+ }
539
+ ```
540
+
541
+ ### `HtmlAssetFieldValue`
542
+
543
+ ```graphql
544
+ """
545
+ HTML-asset reference value. Carries the same resolved `Asset` as `AssetFieldValue`; distinct `__typename` so the field kind round-trips.
546
+ """
547
+ type HtmlAssetFieldValue implements ContentFieldValue {
548
+ key: String!
549
+ type: ContentFieldType!
550
+ """Singular Asset reference when the field is not repeatable."""
551
+ assetRef: AssetRef
552
+ """Plural Asset references when the field is repeatable."""
553
+ assetRefs: [AssetRef!]
554
+ }
555
+ ```
556
+
557
+ ### `ColorFieldValue`
558
+
559
+ ```graphql
560
+ """Color value."""
561
+ type ColorFieldValue implements ContentFieldValue {
562
+ key: String!
563
+ type: ContentFieldType!
564
+ """
565
+ Singular color value — lowercase hex with leading `#` (e.g. `#ff0000`).
566
+ """
567
+ color: String
568
+ """Plural color values."""
569
+ colors: [String!]
570
+ }
571
+ ```
572
+
573
+ ### `ContentBlockFieldValue`
574
+
575
+ ```graphql
576
+ """Embedded Content Block value."""
577
+ type ContentBlockFieldValue implements ContentFieldValue {
578
+ key: String!
579
+ type: ContentFieldType!
580
+ """Singular embedded block when the field is not repeatable."""
581
+ block: EmbeddedContentBlock
582
+ """Plural embedded blocks when the field is repeatable."""
583
+ blocks: [EmbeddedContentBlock!]
584
+ }
585
+ ```
586
+
587
+ ### `GroupFieldValue`
588
+
589
+ ```graphql
590
+ """Nested group value — carries a sub-shaped `ContentEntryData`."""
591
+ type GroupFieldValue implements ContentFieldValue {
592
+ key: String!
593
+ type: ContentFieldType!
594
+ """Singular nested group value when the field is not repeatable."""
595
+ group: ContentEntryData
596
+ """Plural nested group values when the field is repeatable."""
597
+ groups: [ContentEntryData!]
598
+ }
599
+ ```
600
+
601
+ ### `EmbeddedContentBlock`
602
+
603
+ ```graphql
604
+ """
605
+ A Content Block instance embedded inside a Content Entry. Pairs the referenced Block (which carries the schema) with its data.
606
+ """
607
+ type EmbeddedContentBlock {
608
+ """The referenced Content Block — resolves the schema and category."""
609
+ contentBlock: ContentBlock!
610
+ """Block-shaped data, recursively typed."""
611
+ data: ContentEntryData!
612
+ }
613
+ ```
614
+
615
+ ### `ReferenceFieldValue`
616
+
617
+ ```graphql
618
+ """Reference value — resolves the referenced Content Entry/Entries."""
619
+ type ReferenceFieldValue implements ContentFieldValue {
620
+ key: String!
621
+ type: ContentFieldType!
622
+ """Singular referenced Content Entry when the field is not repeatable."""
623
+ contentEntry: ContentEntry
624
+ """Plural referenced Content Entries when the field is repeatable."""
625
+ contentEntries: [ContentEntry!]
626
+ }
627
+ ```
628
+
629
+ ### `ContentSchemaInput`
630
+
631
+ ```graphql
632
+ """A schema input — list of field definitions."""
633
+ input ContentSchemaInput {
634
+ """The field definitions making up the schema."""
635
+ fields: [ContentFieldDefinitionInput!]!
636
+ }
637
+ ```
638
+
639
+ ### `ContentFieldDefinitionInput`
640
+
641
+ ```graphql
642
+ """
643
+ One field-definition input. Exactly one of the field-kind sub-inputs (`singleLineText`, `number`, `contentBlock`, …) must be set; the resolver rejects with INVALID_INPUT otherwise.
644
+ """
645
+ input ContentFieldDefinitionInput {
646
+ """Stable machine identifier."""
647
+ key: String!
648
+ """Human-readable label."""
649
+ name: String!
650
+ """Optional author-facing description of the field's purpose."""
651
+ description: String
652
+ """When true, the value is stored as a list."""
653
+ repeatable: Boolean = false
654
+ """When true, validation rejects null / missing values."""
655
+ required: Boolean = false
656
+ """Single-line text sub-input."""
657
+ singleLineText: SingleLineTextFieldInput
658
+ """Multi-line text sub-input."""
659
+ multiLineText: MultiLineTextFieldInput
660
+ """Markdown sub-input."""
661
+ markdown: MarkdownFieldInput
662
+ """Slug sub-input."""
663
+ slug: SlugFieldInput
664
+ """Number sub-input."""
665
+ number: NumberFieldInput
666
+ """Boolean sub-input."""
667
+ boolean: BooleanFieldInput
668
+ """Date sub-input."""
669
+ date: DateFieldInput
670
+ """JSON sub-input."""
671
+ json: JsonFieldInput
672
+ """Asset sub-input."""
673
+ asset: AssetFieldInput
674
+ """HTML-asset sub-input."""
675
+ htmlAsset: HtmlAssetFieldInput
676
+ """Color sub-input."""
677
+ color: ColorFieldInput
678
+ """Content Block sub-input."""
679
+ contentBlock: ContentBlockFieldInput
680
+ """Group sub-input."""
681
+ group: GroupFieldInput
682
+ """Reference sub-input."""
683
+ reference: ReferenceFieldInput
684
+ }
685
+ ```
686
+
687
+ ### `SingleLineTextFieldInput`
688
+
689
+ ```graphql
690
+ """Per-kind input for `SINGLE_LINE_TEXT` fields."""
691
+ input SingleLineTextFieldInput {
692
+ """
693
+ Format hint — controls editor rendering and validation. Default `PLAIN`.
694
+ """
695
+ format: TextFormat = PLAIN
696
+ """Optional anchored regex applied after the format check."""
697
+ pattern: String
698
+ """Minimum length (inclusive)."""
699
+ minLength: Int
700
+ """Maximum length (inclusive)."""
701
+ maxLength: Int
702
+ }
703
+ ```
704
+
705
+ ### `MultiLineTextFieldInput`
706
+
707
+ ```graphql
708
+ """Per-kind input for `MULTI_LINE_TEXT` fields."""
709
+ input MultiLineTextFieldInput {
710
+ """Minimum length (inclusive)."""
711
+ minLength: Int
712
+ """Maximum length (inclusive)."""
713
+ maxLength: Int
714
+ }
715
+ ```
716
+
717
+ ### `MarkdownFieldInput`
718
+
719
+ ```graphql
720
+ """
721
+ Marker input — `MARKDOWN` field has no extras. Presence alone discriminates the field kind.
722
+ """
723
+ input MarkdownFieldInput {
724
+ """Unused — required so the input is non-empty."""
725
+ _: Boolean
726
+ }
727
+ ```
728
+
729
+ ### `SlugFieldInput`
730
+
731
+ ```graphql
732
+ """Per-kind input for `SLUG` fields."""
733
+ input SlugFieldInput {
734
+ """When set, the slug derives from another field's value."""
735
+ derivedFromKey: String
736
+ }
737
+ ```
738
+
739
+ ### `NumberFieldInput`
740
+
741
+ ```graphql
742
+ """Per-kind input for `NUMBER` fields."""
743
+ input NumberFieldInput {
744
+ """Minimum value (inclusive)."""
745
+ min: Float
746
+ """Maximum value (inclusive)."""
747
+ max: Float
748
+ """When true, the value must be an integer. Default `false`."""
749
+ integerOnly: Boolean = false
750
+ }
751
+ ```
752
+
753
+ ### `BooleanFieldInput`
754
+
755
+ ```graphql
756
+ """Marker input — `BOOLEAN` field has no extras."""
757
+ input BooleanFieldInput {
758
+ """Unused — required so the input is non-empty."""
759
+ _: Boolean
760
+ }
761
+ ```
762
+
763
+ ### `DateFieldInput`
764
+
765
+ ```graphql
766
+ """Per-kind input for `DATE` fields."""
767
+ input DateFieldInput {
768
+ """When true, the value carries both date and time. Default `false`."""
769
+ includeTime: Boolean = false
770
+ }
771
+ ```
772
+
773
+ ### `JsonFieldInput`
774
+
775
+ ```graphql
776
+ """Marker input — `JSON` field has no extras."""
777
+ input JsonFieldInput {
778
+ """Unused — required so the input is non-empty."""
779
+ _: Boolean
780
+ }
781
+ ```
782
+
783
+ ### `AssetFieldInput`
784
+
785
+ ```graphql
786
+ """
787
+ Per-asset-field constraints applied by the codec at data-decode time. All fields are optional; an empty input behaves as a plain `asset` field.
788
+ """
789
+ input AssetFieldInput {
790
+ """
791
+ Allowlist of accepted MIME types. When set and non-empty, the asset's `mimeType` must be in the list.
792
+ """
793
+ acceptedMimeTypes: [String!]
794
+ """Maximum file size in bytes."""
795
+ maxBytes: Int
796
+ """Image-only: minimum width in pixels."""
797
+ minWidth: Int
798
+ """Image-only: maximum width in pixels."""
799
+ maxWidth: Int
800
+ """Image-only: minimum height in pixels."""
801
+ minHeight: Int
802
+ """Image-only: maximum height in pixels."""
803
+ maxHeight: Int
804
+ }
805
+ ```
806
+
807
+ ### `HtmlAssetFieldInput`
808
+
809
+ ```graphql
810
+ """
811
+ Per-html-asset-field constraints applied by the codec at data-decode time. The accepted MIME type is always locked to `text/html`; only the size cap is configurable.
812
+ """
813
+ input HtmlAssetFieldInput {
814
+ """Maximum file size in bytes."""
815
+ maxBytes: Int
816
+ }
817
+ ```
818
+
819
+ ### `ColorFieldInput`
820
+
821
+ ```graphql
822
+ """Marker input — `COLOR` field has no extras."""
823
+ input ColorFieldInput {
824
+ """Unused — required so the input is non-empty."""
825
+ _: Boolean
826
+ }
827
+ ```
828
+
829
+ ### `AssetRefInput`
830
+
831
+ ```graphql
832
+ """
833
+ A CMS asset reference for a content-field value input, with an optional pinned version.
834
+ Omit `versionId` to store a legacy reference (reads back as the asset's oldest version).
835
+ """
836
+ input AssetRefInput {
837
+ """The referenced Asset id."""
838
+ assetId: ID!
839
+ """
840
+ The pinned AssetVersion id. Omitting it persists a legacy `{ id }`-only reference, which reads back as the asset's oldest version; the dashboard AssetInput always sets it.
841
+ """
842
+ versionId: ID
843
+ }
844
+ ```
845
+
846
+ ### `ContentBlockFieldInput`
847
+
848
+ ```graphql
849
+ """Per-kind input for `CONTENT_BLOCK` fields."""
850
+ input ContentBlockFieldInput {
851
+ """
852
+ The Content Block category whose Blocks may be embedded here. Omit (null) to allow any category.
853
+ """
854
+ contentBlockCategory: ContentBlockCategory
855
+ }
856
+ ```
857
+
858
+ ### `GroupFieldInput`
859
+
860
+ ```graphql
861
+ """Per-kind input for `GROUP` fields."""
862
+ input GroupFieldInput {
863
+ """Nested field definitions (max nesting depth 3 enforced by validator)."""
864
+ nestedFields: [ContentFieldDefinitionInput!]!
865
+ }
866
+ ```
867
+
868
+ ### `ReferenceFieldInput`
869
+
870
+ ```graphql
871
+ """Per-kind input for `REFERENCE` fields."""
872
+ input ReferenceFieldInput {
873
+ """
874
+ The target Content Model `key` whose entries may be referenced. Omit to allow any Content Model.
875
+ """
876
+ contentModelKey: String
877
+ }
878
+ ```
879
+
880
+ ### `ContentEntryDataInput`
881
+
882
+ ```graphql
883
+ """
884
+ A Content Entry data input — list of field values keyed by field key. Reused for nested groups and embedded Content Blocks.
885
+ """
886
+ input ContentEntryDataInput {
887
+ """The values keyed by field key."""
888
+ values: [ContentFieldValueInput!]!
889
+ }
890
+ ```
891
+
892
+ ### `ContentFieldValueInput`
893
+
894
+ ```graphql
895
+ """
896
+ One field-value input. The resolver matches the populated singular /
897
+ plural pair against the parent schema's field type for `key`. Setting
898
+ more than one populated pair is rejected with `INVALID_INPUT`.
899
+ """
900
+ input ContentFieldValueInput {
901
+ """The field key from the parent schema."""
902
+ key: String!
903
+ """Singular text value."""
904
+ text: String
905
+ """Plural text values."""
906
+ texts: [String!]
907
+ """Singular number value."""
908
+ number: Float
909
+ """Plural number values."""
910
+ numbers: [Float!]
911
+ """Singular boolean value."""
912
+ boolean: Boolean
913
+ """Plural boolean values."""
914
+ booleans: [Boolean!]
915
+ """Singular date value."""
916
+ date: IsoDate
917
+ """Plural date values."""
918
+ dates: [IsoDate!]
919
+ """Singular JSON value."""
920
+ json: JSON
921
+ """Plural JSON values."""
922
+ jsons: [JSON!]
923
+ """Singular Asset reference."""
924
+ assetRef: AssetRefInput
925
+ """Plural Asset references."""
926
+ assetRefs: [AssetRefInput!]
927
+ """Singular embedded Content Block."""
928
+ block: EmbeddedContentBlockInput
929
+ """Plural embedded Content Blocks."""
930
+ blocks: [EmbeddedContentBlockInput!]
931
+ """Singular nested group value."""
932
+ group: ContentEntryDataInput
933
+ """Plural nested group values."""
934
+ groups: [ContentEntryDataInput!]
935
+ """Singular referenced Content Entry id."""
936
+ contentEntryId: ID
937
+ """Plural referenced Content Entry ids."""
938
+ contentEntryIds: [ID!]
939
+ }
940
+ ```
941
+
942
+ ### `EmbeddedContentBlockInput`
943
+
944
+ ```graphql
945
+ """
946
+ Input form of `EmbeddedContentBlock` — references a Content Block by id and supplies the block-shaped data.
947
+ """
948
+ input EmbeddedContentBlockInput {
949
+ """The Content Block id to embed."""
950
+ contentBlockId: ID!
951
+ """Block-shaped data, recursively typed."""
952
+ data: ContentEntryDataInput!
953
+ }
954
+ ```