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,299 @@
1
+ ---
2
+ type: reference
3
+ layout: docs
4
+ generated: true
5
+ ---
6
+
7
+ # Mcp server schema
8
+
9
+ The operations and types that `mcp-server.graphql` adds to the Management API. See [Management API schema](/reference/management-api/schema) for every domain, the endpoint and authentication.
10
+
11
+ ## Queries
12
+
13
+ ### `mcpServer`
14
+
15
+ Fetch a single registered MCP server by ID, or null if it doesn't exist. Requires authentication.
16
+
17
+ ```graphql
18
+ mcpServer(input: McpServerInput!): McpServer @auth
19
+ ```
20
+
21
+ ## Mutations
22
+
23
+ ### `mcpServerRegister`
24
+
25
+ Register a new third-party MCP server. Requires a user context; API keys are rejected.
26
+
27
+ ```graphql
28
+ mcpServerRegister(input: McpServerRegisterInput!): McpServerRegisterPayload! @auth(only: USER)
29
+ ```
30
+
31
+ ### `mcpServerUpdate`
32
+
33
+ Update an MCP server's display name. URL rotation goes through `mcpServerUrlSet`. Requires a user context; API keys are rejected.
34
+
35
+ ```graphql
36
+ mcpServerUpdate(input: McpServerUpdateInput!): McpServerUpdatePayload! @auth(only: USER)
37
+ ```
38
+
39
+ ### `mcpServerUrlSet`
40
+
41
+ Rotate the MCP server's URL. The new URL is encrypted; the response surfaces only the display URL. Requires a user context; API keys are rejected.
42
+
43
+ ```graphql
44
+ mcpServerUrlSet(input: McpServerUrlSetInput!): McpServerUrlSetPayload! @auth(only: USER)
45
+ ```
46
+
47
+ ### `mcpServerAuthHeaderSet`
48
+
49
+ Set or replace the single auth header on an MCP server. Requires a user context; API keys are rejected.
50
+
51
+ ```graphql
52
+ mcpServerAuthHeaderSet(input: McpServerAuthHeaderSetInput!): McpServerAuthHeaderSetPayload! @auth(only: USER)
53
+ ```
54
+
55
+ ### `mcpServerAuthHeaderClear`
56
+
57
+ Remove the auth header from an MCP server. Idempotent. Requires a user context; API keys are rejected.
58
+
59
+ ```graphql
60
+ mcpServerAuthHeaderClear(input: McpServerAuthHeaderClearInput!): McpServerAuthHeaderClearPayload! @auth(only: USER)
61
+ ```
62
+
63
+ ### `mcpServerDelete`
64
+
65
+ Delete an MCP server registration and any encrypted credentials. Idempotent.
66
+
67
+ ```graphql
68
+ mcpServerDelete(input: McpServerDeleteInput!): McpServerDeletePayload! @auth
69
+ ```
70
+
71
+ ## Types
72
+
73
+ ### `McpServer`
74
+
75
+ ```graphql
76
+ """
77
+ A third-party MCP (Model Context Protocol) server registered to a project. Only the display URL (`urlDisplay` — scheme + host + pathname) and the auth header name are exposed; the full URL and any auth header value are encrypted at rest and never returned by this API.
78
+ """
79
+ type McpServer {
80
+ """Unique MCP server identifier."""
81
+ id: ID!
82
+ """ID of the project this server belongs to."""
83
+ projectId: ID!
84
+ """Display name of the server."""
85
+ name: String!
86
+ """
87
+ Display URL — scheme + host + pathname (e.g. `https://example.com/mcp`). The query and fragment of the full URL are stripped; they often carry secrets and are not returned by this API.
88
+ """
89
+ urlDisplay: String!
90
+ """The auth header name, or null when no auth header is configured."""
91
+ authHeaderName: String
92
+ """True when an auth header value is configured on this server."""
93
+ hasAuthHeaderValue: Boolean!
94
+ """When this server was registered."""
95
+ createdAt: DateTime!
96
+ """When this server was last updated."""
97
+ updatedAt: DateTime!
98
+ }
99
+ ```
100
+
101
+ ### `McpServerEdge`
102
+
103
+ ```graphql
104
+ """Edge type for MCP server connection."""
105
+ type McpServerEdge {
106
+ """Pagination cursor for this edge."""
107
+ cursor: String!
108
+ """The MCP server."""
109
+ node: McpServer!
110
+ }
111
+ ```
112
+
113
+ ### `McpServerConnection`
114
+
115
+ ```graphql
116
+ """Connection type for MCP servers (Relay-style pagination)."""
117
+ type McpServerConnection {
118
+ """List of MCP server edges."""
119
+ edges: [McpServerEdge!]!
120
+ """Pagination information."""
121
+ pageInfo: PageInfo!
122
+ """Total number of MCP servers registered to the project."""
123
+ totalCount: Int!
124
+ }
125
+ ```
126
+
127
+ ### `McpAuthHeaderInput`
128
+
129
+ ```graphql
130
+ """
131
+ A single auth header to send when calling a registered MCP server. The value is encrypted at rest and only ever decrypted server-side.
132
+ """
133
+ input McpAuthHeaderInput {
134
+ """Header name; defaults server-side to 'authorization' when omitted."""
135
+ name: String
136
+ """Header value to encrypt and persist."""
137
+ value: String!
138
+ }
139
+ ```
140
+
141
+ ### `McpServerInput`
142
+
143
+ ```graphql
144
+ """Input for the top-level `mcpServer` query."""
145
+ input McpServerInput {
146
+ """ID of the MCP server to fetch."""
147
+ id: ID!
148
+ }
149
+ ```
150
+
151
+ ### `McpServerRegisterInput`
152
+
153
+ ```graphql
154
+ """
155
+ Input for `mcpServerRegister`. The full URL is encrypted on commit; subsequent reads return only the display URL (scheme + host + pathname).
156
+ """
157
+ input McpServerRegisterInput {
158
+ """
159
+ Project the MCP server should be registered to. The organisation is derived server-side from the project.
160
+ """
161
+ projectId: ID!
162
+ """Display name of the server."""
163
+ name: String!
164
+ """
165
+ MCP endpoint URL (may contain query-param secrets). Encrypted at rest; only the scheme + host + pathname portion is returned by this API.
166
+ """
167
+ url: String!
168
+ """Optional auth header to set on registration."""
169
+ authHeader: McpAuthHeaderInput
170
+ }
171
+ ```
172
+
173
+ ### `McpServerUpdateInput`
174
+
175
+ ```graphql
176
+ """
177
+ Input for `mcpServerUpdate`. Name-only — URL rotation goes through `mcpServerUrlSet`; header lifecycle is managed via `mcpServerAuthHeaderSet` / `mcpServerAuthHeaderClear`.
178
+ """
179
+ input McpServerUpdateInput {
180
+ """ID of the MCP server to update."""
181
+ id: ID!
182
+ """New display name."""
183
+ name: String!
184
+ }
185
+ ```
186
+
187
+ ### `McpServerUrlSetInput`
188
+
189
+ ```graphql
190
+ """
191
+ Input for `mcpServerUrlSet`. Rotates the full URL atomically and updates the display URL.
192
+ """
193
+ input McpServerUrlSetInput {
194
+ """ID of the MCP server."""
195
+ id: ID!
196
+ """
197
+ New full URL (may contain query-param secrets); validated server-side for scheme and host.
198
+ """
199
+ url: String!
200
+ }
201
+ ```
202
+
203
+ ### `McpServerAuthHeaderSetInput`
204
+
205
+ ```graphql
206
+ """
207
+ Input for `mcpServerAuthHeaderSet`. Creates or replaces the auth header value.
208
+ """
209
+ input McpServerAuthHeaderSetInput {
210
+ """ID of the MCP server."""
211
+ id: ID!
212
+ """Header name; defaults server-side to 'authorization' when omitted."""
213
+ name: String
214
+ """Header value to encrypt and persist."""
215
+ value: String!
216
+ }
217
+ ```
218
+
219
+ ### `McpServerAuthHeaderClearInput`
220
+
221
+ ```graphql
222
+ """
223
+ Input for `mcpServerAuthHeaderClear`. Idempotent: clearing a server that has no header is a no-op success.
224
+ """
225
+ input McpServerAuthHeaderClearInput {
226
+ """ID of the MCP server."""
227
+ id: ID!
228
+ }
229
+ ```
230
+
231
+ ### `McpServerDeleteInput`
232
+
233
+ ```graphql
234
+ """Input for `mcpServerDelete`."""
235
+ input McpServerDeleteInput {
236
+ """ID of the MCP server to delete."""
237
+ id: ID!
238
+ }
239
+ ```
240
+
241
+ ### `McpServerRegisterPayload`
242
+
243
+ ```graphql
244
+ """Payload for `mcpServerRegister`."""
245
+ type McpServerRegisterPayload {
246
+ """The freshly registered MCP server."""
247
+ mcpServer: McpServer
248
+ }
249
+ ```
250
+
251
+ ### `McpServerUpdatePayload`
252
+
253
+ ```graphql
254
+ """Payload for `mcpServerUpdate`."""
255
+ type McpServerUpdatePayload {
256
+ """The updated MCP server."""
257
+ mcpServer: McpServer
258
+ }
259
+ ```
260
+
261
+ ### `McpServerUrlSetPayload`
262
+
263
+ ```graphql
264
+ """Payload for `mcpServerUrlSet`."""
265
+ type McpServerUrlSetPayload {
266
+ """The updated MCP server."""
267
+ mcpServer: McpServer
268
+ }
269
+ ```
270
+
271
+ ### `McpServerAuthHeaderSetPayload`
272
+
273
+ ```graphql
274
+ """Payload for `mcpServerAuthHeaderSet`."""
275
+ type McpServerAuthHeaderSetPayload {
276
+ """The updated MCP server."""
277
+ mcpServer: McpServer
278
+ }
279
+ ```
280
+
281
+ ### `McpServerAuthHeaderClearPayload`
282
+
283
+ ```graphql
284
+ """Payload for `mcpServerAuthHeaderClear`."""
285
+ type McpServerAuthHeaderClearPayload {
286
+ """The updated MCP server."""
287
+ mcpServer: McpServer
288
+ }
289
+ ```
290
+
291
+ ### `McpServerDeletePayload`
292
+
293
+ ```graphql
294
+ """Payload for `mcpServerDelete`."""
295
+ type McpServerDeletePayload {
296
+ """True when the server was deleted."""
297
+ success: Boolean!
298
+ }
299
+ ```
@@ -0,0 +1,223 @@
1
+ ---
2
+ type: reference
3
+ layout: docs
4
+ generated: true
5
+ ---
6
+
7
+ # Metric schema
8
+
9
+ The operations and types that `metric.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
+ ### `MetricTimeUnit`
14
+
15
+ ```graphql
16
+ """
17
+ A unit of calendar time: a window's length, or a timeseries bucket's width.
18
+ """
19
+ enum MetricTimeUnit {
20
+ """One hour."""
21
+ HOUR
22
+ """One day, from local midnight."""
23
+ DAY
24
+ """One week, from Monday at local midnight."""
25
+ WEEK
26
+ """One calendar month, from the first at local midnight."""
27
+ MONTH
28
+ }
29
+ ```
30
+
31
+ ### `MetricDurationInput`
32
+
33
+ ```graphql
34
+ """A length of time as a whole number of units."""
35
+ input MetricDurationInput {
36
+ """How many units. At least 1."""
37
+ amount: Int!
38
+ """The unit."""
39
+ unit: MetricTimeUnit!
40
+ }
41
+ ```
42
+
43
+ ### `MetricDateRangeInput`
44
+
45
+ ```graphql
46
+ """Whole calendar days, both ends inclusive."""
47
+ input MetricDateRangeInput {
48
+ """The first day."""
49
+ start: IsoDate!
50
+ """The last day, included."""
51
+ end: IsoDate!
52
+ }
53
+ ```
54
+
55
+ ### `MetricWindowInput`
56
+
57
+ ```graphql
58
+ """
59
+ The span of time a metric covers. Give exactly one of `last`, `dates`, or
60
+ both `from` and `to`.
61
+
62
+ `last` ends with the current unit and covers the `amount - 1` units before it,
63
+ with unit boundaries in `timezone`: `{ amount: 7, unit: DAY }` is today and
64
+ the six days before it. Two requests within the same unit resolve to the same
65
+ window.
66
+ """
67
+ input MetricWindowInput {
68
+ """A relative window ending with the current unit."""
69
+ last: MetricDurationInput
70
+ """
71
+ Whole days, from local midnight on `start` to local midnight after `end`.
72
+ """
73
+ dates: MetricDateRangeInput
74
+ """Start of an absolute window, inclusive."""
75
+ from: DateTime
76
+ """End of an absolute window, exclusive."""
77
+ to: DateTime
78
+ """
79
+ IANA time zone that unit and bucket boundaries align to. Defaults to the project's `timezone`.
80
+ """
81
+ timezone: String
82
+ }
83
+ ```
84
+
85
+ ### `MetricWindow`
86
+
87
+ ```graphql
88
+ """
89
+ The concrete span a metric covered after its window was resolved. Label a chart with it.
90
+ """
91
+ type MetricWindow {
92
+ """Start of the window, inclusive."""
93
+ from: DateTime!
94
+ """End of the window, exclusive."""
95
+ to: DateTime!
96
+ """The IANA time zone unit and bucket boundaries align to."""
97
+ timezone: String!
98
+ }
99
+ ```
100
+
101
+ ### `Metric`
102
+
103
+ ```graphql
104
+ """
105
+ Something countable over time. Read `total` for a single number and
106
+ `timeseries` for a chart.
107
+
108
+ `window` defaults to the window of the resource the metric hangs off, such
109
+ as the `window` given to `Project.leads`; a metric with neither fails. A
110
+ measurement that would read too much data, or for too long, fails with an
111
+ error rather than returning a partial value.
112
+ """
113
+ interface Metric {
114
+ """
115
+ The metric over a window, split by the metric's group-by when it has one.
116
+ """
117
+ total(window: MetricWindowInput): MetricTotal!
118
+ """
119
+ The metric over a window, in buckets of `interval`. At most 745 buckets.
120
+ """
121
+ timeseries(window: MetricWindowInput, interval: MetricTimeUnit!): Timeseries!
122
+ }
123
+ ```
124
+
125
+ ### `CountMetric`
126
+
127
+ ```graphql
128
+ """A plain count, such as leads captured or sessions started."""
129
+ type CountMetric implements Metric {
130
+ """
131
+ The count over a window, split by the metric's group-by when it has one.
132
+ """
133
+ total(window: MetricWindowInput): MetricTotal!
134
+ """
135
+ The count over a window, in buckets of `interval`. At most 745 buckets.
136
+ """
137
+ timeseries(window: MetricWindowInput, interval: MetricTimeUnit!): Timeseries!
138
+ }
139
+ ```
140
+
141
+ ### `MetricTotal`
142
+
143
+ ```graphql
144
+ """A metric's value over one window."""
145
+ type MetricTotal {
146
+ """The window that was counted."""
147
+ window: MetricWindow!
148
+ """The value over the whole window."""
149
+ value: Float!
150
+ """
151
+ The value per group, largest first, when the metric has a group-by; empty
152
+ otherwise. At most 10 groups; the rest fold into one group whose `key` is null.
153
+ """
154
+ groups: [MetricGroupValue!]!
155
+ """True when values are estimates rather than exact counts."""
156
+ approximate: Boolean!
157
+ """The newest data the values reflect."""
158
+ freshAsOf: DateTime!
159
+ }
160
+ ```
161
+
162
+ ### `MetricGroupValue`
163
+
164
+ ```graphql
165
+ """One group's share of a metric total."""
166
+ type MetricGroupValue {
167
+ """
168
+ The group-by value, or null for the group folding every group past the cap.
169
+ """
170
+ key: String
171
+ """A human-readable name for the group."""
172
+ label: String!
173
+ """The group's value."""
174
+ value: Float!
175
+ }
176
+ ```
177
+
178
+ ### `Timeseries`
179
+
180
+ ```graphql
181
+ """
182
+ A metric bucketed over time, column by column. `buckets` is the time axis
183
+ every series shares, and each series carries one value per bucket, so
184
+ `series[i].values[j]` is the value of series `i` in the bucket starting at
185
+ `buckets[j]`.
186
+ """
187
+ type Timeseries {
188
+ """The window that was counted."""
189
+ window: MetricWindow!
190
+ """The width of each bucket."""
191
+ interval: MetricTimeUnit!
192
+ """
193
+ The start of each bucket, oldest first. Every bucket is present; an empty one counts 0.
194
+ """
195
+ buckets: [DateTime!]!
196
+ """
197
+ The series, largest first. One series with a null `key` when the metric has
198
+ no group-by. At most 10 series; the groups past the cap fold into one series
199
+ whose `key` is null.
200
+ """
201
+ series: [TimeseriesSeries!]!
202
+ """True when values are estimates rather than exact counts."""
203
+ approximate: Boolean!
204
+ """The newest data the values reflect."""
205
+ freshAsOf: DateTime!
206
+ }
207
+ ```
208
+
209
+ ### `TimeseriesSeries`
210
+
211
+ ```graphql
212
+ """One line of a timeseries."""
213
+ type TimeseriesSeries {
214
+ """
215
+ The group-by value; null for the folded "Other" series and for the single series of an ungrouped metric.
216
+ """
217
+ key: String
218
+ """A human-readable name for the series."""
219
+ label: String!
220
+ """One value per bucket, aligned with `Timeseries.buckets`."""
221
+ values: [Float!]!
222
+ }
223
+ ```
@@ -0,0 +1,96 @@
1
+ ---
2
+ type: reference
3
+ layout: docs
4
+ generated: true
5
+ ---
6
+
7
+ # Operation schema
8
+
9
+ The operations and types that `operation.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
+ ### `OperationType`
14
+
15
+ ```graphql
16
+ """What an operation did to its resource."""
17
+ enum OperationType {
18
+ """The resource was created."""
19
+ CREATED
20
+ """The resource was changed."""
21
+ UPDATED
22
+ """The resource was removed."""
23
+ DELETED
24
+ }
25
+ ```
26
+
27
+ ### `OperationSortKeys`
28
+
29
+ ```graphql
30
+ """
31
+ Sort keys accepted by `WorkflowTask.operations(...)` and `Lead.operations(...)`.
32
+ Pair with `reverse: true` to flip the order; both fields default to
33
+ `reverse: true`, the latest operation first. A cursor belongs to the order it was issued under: change `sortKey` or `reverse` only from the first page.
34
+ """
35
+ enum OperationSortKeys {
36
+ """Sort by `occurredAt`."""
37
+ OCCURRED_AT
38
+ }
39
+ ```
40
+
41
+ ### `Operation`
42
+
43
+ ```graphql
44
+ """
45
+ One entry in the log of what was done to a resource.
46
+
47
+ Every resource that is logged has its own implementing type carrying the
48
+ resource itself — `LeadOperation.lead`, `LabelOperation.label` — and this
49
+ interface carries what they share. `task` is the workflow run task that
50
+ performed the operation, or null when a person or an integration did.
51
+ """
52
+ interface Operation {
53
+ """Unique operation identifier."""
54
+ id: ID!
55
+ """What was done to the resource."""
56
+ type: OperationType!
57
+ """When the operation happened."""
58
+ occurredAt: DateTime!
59
+ """
60
+ The workflow run task that performed the operation, or null when it was not a workflow.
61
+ """
62
+ task: WorkflowTask
63
+ }
64
+ ```
65
+
66
+ ### `OperationConnection`
67
+
68
+ ```graphql
69
+ """
70
+ Relay-style connection of operations of any resource, in the order asked.
71
+ """
72
+ type OperationConnection {
73
+ """List of operation edges."""
74
+ edges: [OperationEdge!]!
75
+ """
76
+ Flat list of operations, equivalent to `edges[].node`. Convenience accessor.
77
+ """
78
+ nodes: [Operation!]!
79
+ """Pagination metadata."""
80
+ pageInfo: PageInfo!
81
+ """Total number of operations in the list."""
82
+ totalCount: Int!
83
+ }
84
+ ```
85
+
86
+ ### `OperationEdge`
87
+
88
+ ```graphql
89
+ """Edge type for `OperationConnection`."""
90
+ type OperationEdge {
91
+ """Pagination cursor for this edge."""
92
+ cursor: String!
93
+ """The operation."""
94
+ node: Operation!
95
+ }
96
+ ```