@storyblok/management-api-client 1.0.0-alpha.1 → 1.0.0-alpha.3

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 (294) hide show
  1. package/README.md +3 -1
  2. package/dist/client.cjs +9 -9
  3. package/dist/client.cjs.map +1 -1
  4. package/dist/client.d.cts +217 -203
  5. package/dist/client.d.mts +217 -203
  6. package/dist/client.mjs +9 -9
  7. package/dist/client.mjs.map +1 -1
  8. package/dist/generated/mapi/_internal.gen.d.cts +371 -0
  9. package/dist/generated/mapi/_internal.gen.d.mts +371 -0
  10. package/dist/generated/{shared → mapi}/client/client.gen.cjs +1 -1
  11. package/dist/generated/mapi/client/client.gen.cjs.map +1 -0
  12. package/dist/generated/{shared → mapi}/client/client.gen.mjs +1 -1
  13. package/dist/generated/mapi/client/client.gen.mjs.map +1 -0
  14. package/dist/generated/{shared → mapi}/client/types.gen.d.cts +1 -1
  15. package/dist/generated/{shared → mapi}/client/types.gen.d.mts +1 -1
  16. package/dist/generated/{shared → mapi}/client/utils.gen.cjs +1 -1
  17. package/dist/generated/mapi/client/utils.gen.cjs.map +1 -0
  18. package/dist/generated/{shared → mapi}/client/utils.gen.d.cts +1 -1
  19. package/dist/generated/{shared → mapi}/client/utils.gen.d.mts +1 -1
  20. package/dist/generated/{shared → mapi}/client/utils.gen.mjs +1 -1
  21. package/dist/generated/mapi/client/utils.gen.mjs.map +1 -0
  22. package/dist/generated/mapi/client.gen.cjs +10 -0
  23. package/dist/generated/mapi/client.gen.cjs.map +1 -0
  24. package/dist/generated/mapi/client.gen.mjs +10 -0
  25. package/dist/generated/mapi/client.gen.mjs.map +1 -0
  26. package/dist/generated/{shared → mapi}/core/auth.gen.cjs +1 -1
  27. package/dist/generated/mapi/core/auth.gen.cjs.map +1 -0
  28. package/dist/generated/{shared → mapi}/core/auth.gen.d.cts +1 -1
  29. package/dist/generated/{shared → mapi}/core/auth.gen.d.mts +1 -1
  30. package/dist/generated/{shared → mapi}/core/auth.gen.mjs +1 -1
  31. package/dist/generated/mapi/core/auth.gen.mjs.map +1 -0
  32. package/dist/generated/{shared → mapi}/core/bodySerializer.gen.cjs +1 -1
  33. package/dist/generated/mapi/core/bodySerializer.gen.cjs.map +1 -0
  34. package/dist/generated/{shared → mapi}/core/bodySerializer.gen.d.cts +1 -1
  35. package/dist/generated/{shared → mapi}/core/bodySerializer.gen.d.mts +1 -1
  36. package/dist/generated/{shared → mapi}/core/bodySerializer.gen.mjs +1 -1
  37. package/dist/generated/mapi/core/bodySerializer.gen.mjs.map +1 -0
  38. package/dist/generated/{shared → mapi}/core/params.gen.cjs +1 -1
  39. package/dist/generated/mapi/core/params.gen.cjs.map +1 -0
  40. package/dist/generated/{shared → mapi}/core/params.gen.mjs +1 -1
  41. package/dist/generated/mapi/core/params.gen.mjs.map +1 -0
  42. package/dist/generated/{shared → mapi}/core/pathSerializer.gen.cjs +1 -1
  43. package/dist/generated/mapi/core/pathSerializer.gen.cjs.map +1 -0
  44. package/dist/generated/{shared → mapi}/core/pathSerializer.gen.d.cts +1 -1
  45. package/dist/generated/{shared → mapi}/core/pathSerializer.gen.d.mts +1 -1
  46. package/dist/generated/{shared → mapi}/core/pathSerializer.gen.mjs +1 -1
  47. package/dist/generated/mapi/core/pathSerializer.gen.mjs.map +1 -0
  48. package/dist/generated/{shared → mapi}/core/serverSentEvents.gen.cjs +1 -1
  49. package/dist/generated/mapi/core/serverSentEvents.gen.cjs.map +1 -0
  50. package/dist/generated/{shared → mapi}/core/serverSentEvents.gen.d.cts +1 -1
  51. package/dist/generated/{shared → mapi}/core/serverSentEvents.gen.d.mts +1 -1
  52. package/dist/generated/{shared → mapi}/core/serverSentEvents.gen.mjs +1 -1
  53. package/dist/generated/mapi/core/serverSentEvents.gen.mjs.map +1 -0
  54. package/dist/generated/{shared → mapi}/core/types.gen.d.cts +1 -1
  55. package/dist/generated/{shared → mapi}/core/types.gen.d.mts +1 -1
  56. package/dist/generated/{shared → mapi}/core/utils.gen.cjs +1 -1
  57. package/dist/generated/mapi/core/utils.gen.cjs.map +1 -0
  58. package/dist/generated/{shared → mapi}/core/utils.gen.mjs +1 -1
  59. package/dist/generated/mapi/core/utils.gen.mjs.map +1 -0
  60. package/dist/generated/mapi/sdk.gen.cjs +1477 -0
  61. package/dist/generated/mapi/sdk.gen.cjs.map +1 -0
  62. package/dist/generated/mapi/sdk.gen.mjs +1399 -0
  63. package/dist/generated/mapi/sdk.gen.mjs.map +1 -0
  64. package/dist/generated/mapi/types-aliased.gen.d.cts +1598 -0
  65. package/dist/generated/mapi/types-aliased.gen.d.mts +1598 -0
  66. package/dist/generated/mapi/types.gen.d.cts +5075 -0
  67. package/dist/generated/mapi/types.gen.d.mts +5075 -0
  68. package/dist/generated/{components/types.gen.d.cts → overlay/_internal.gen.d.cts} +281 -457
  69. package/dist/generated/{components/types.gen.d.mts → overlay/_internal.gen.d.mts} +281 -457
  70. package/dist/generated/types/_utils.d.cts +7 -0
  71. package/dist/generated/types/_utils.d.mts +7 -0
  72. package/dist/generated/types/block.d.cts +49 -0
  73. package/dist/generated/types/block.d.mts +49 -0
  74. package/dist/generated/types/field.d.cts +87 -0
  75. package/dist/generated/types/field.d.mts +87 -0
  76. package/dist/generated/types/mapi-story.d.cts +29 -0
  77. package/dist/generated/types/mapi-story.d.mts +29 -0
  78. package/dist/index.d.cts +8 -4
  79. package/dist/index.d.mts +8 -4
  80. package/dist/resources/asset-folders.cjs +9 -9
  81. package/dist/resources/asset-folders.cjs.map +1 -1
  82. package/dist/resources/asset-folders.mjs +9 -9
  83. package/dist/resources/asset-folders.mjs.map +1 -1
  84. package/dist/resources/assets.cjs +64 -46
  85. package/dist/resources/assets.cjs.map +1 -1
  86. package/dist/resources/assets.d.cts +23 -28
  87. package/dist/resources/assets.d.mts +23 -28
  88. package/dist/resources/assets.mjs +64 -46
  89. package/dist/resources/assets.mjs.map +1 -1
  90. package/dist/resources/component-folders.cjs +9 -9
  91. package/dist/resources/component-folders.cjs.map +1 -1
  92. package/dist/resources/component-folders.mjs +9 -9
  93. package/dist/resources/component-folders.mjs.map +1 -1
  94. package/dist/resources/components.cjs +28 -20
  95. package/dist/resources/components.cjs.map +1 -1
  96. package/dist/resources/components.d.cts +76 -0
  97. package/dist/resources/components.d.mts +76 -0
  98. package/dist/resources/components.mjs +28 -20
  99. package/dist/resources/components.mjs.map +1 -1
  100. package/dist/resources/datasource-entries.cjs +28 -34
  101. package/dist/resources/datasource-entries.cjs.map +1 -1
  102. package/dist/resources/datasource-entries.mjs +29 -35
  103. package/dist/resources/datasource-entries.mjs.map +1 -1
  104. package/dist/resources/datasources.cjs +27 -9
  105. package/dist/resources/datasources.cjs.map +1 -1
  106. package/dist/resources/datasources.mjs +27 -9
  107. package/dist/resources/datasources.mjs.map +1 -1
  108. package/dist/resources/experiments.cjs +299 -0
  109. package/dist/resources/experiments.cjs.map +1 -0
  110. package/dist/resources/experiments.mjs +299 -0
  111. package/dist/resources/experiments.mjs.map +1 -0
  112. package/dist/resources/internal-tags.cjs +7 -7
  113. package/dist/resources/internal-tags.cjs.map +1 -1
  114. package/dist/resources/internal-tags.mjs +7 -7
  115. package/dist/resources/internal-tags.mjs.map +1 -1
  116. package/dist/resources/presets.cjs +9 -9
  117. package/dist/resources/presets.cjs.map +1 -1
  118. package/dist/resources/presets.mjs +9 -9
  119. package/dist/resources/presets.mjs.map +1 -1
  120. package/dist/resources/shared.cjs +15 -0
  121. package/dist/resources/shared.cjs.map +1 -1
  122. package/dist/resources/shared.mjs +15 -1
  123. package/dist/resources/shared.mjs.map +1 -1
  124. package/dist/resources/spaces.cjs +8 -7
  125. package/dist/resources/spaces.cjs.map +1 -1
  126. package/dist/resources/spaces.d.cts +8 -0
  127. package/dist/resources/spaces.d.mts +7 -0
  128. package/dist/resources/spaces.mjs +8 -7
  129. package/dist/resources/spaces.mjs.map +1 -1
  130. package/dist/resources/stories.cjs +20 -16
  131. package/dist/resources/stories.cjs.map +1 -1
  132. package/dist/resources/stories.d.cts +30 -42
  133. package/dist/resources/stories.d.mts +30 -42
  134. package/dist/resources/stories.mjs +20 -16
  135. package/dist/resources/stories.mjs.map +1 -1
  136. package/dist/resources/users.cjs +3 -3
  137. package/dist/resources/users.cjs.map +1 -1
  138. package/dist/resources/users.mjs +3 -3
  139. package/dist/resources/users.mjs.map +1 -1
  140. package/dist/utils/query-serializer.cjs +54 -0
  141. package/dist/utils/query-serializer.cjs.map +1 -0
  142. package/dist/utils/query-serializer.mjs +54 -0
  143. package/dist/utils/query-serializer.mjs.map +1 -0
  144. package/dist/utils/rate-limit.cjs +15 -74
  145. package/dist/utils/rate-limit.cjs.map +1 -1
  146. package/dist/utils/rate-limit.d.cts +5 -6
  147. package/dist/utils/rate-limit.d.mts +5 -6
  148. package/dist/utils/rate-limit.mjs +15 -74
  149. package/dist/utils/rate-limit.mjs.map +1 -1
  150. package/package.json +13 -13
  151. package/playground/integration-tests/README.md +24 -0
  152. package/playground/integration-tests/eslint.config.js +5 -0
  153. package/playground/integration-tests/node_modules/.bin/eslint +16 -0
  154. package/playground/integration-tests/node_modules/.bin/tsc +16 -0
  155. package/playground/integration-tests/node_modules/.bin/tsserver +16 -0
  156. package/playground/integration-tests/node_modules/.bin/vitest +16 -0
  157. package/playground/integration-tests/package.json +24 -0
  158. package/{test → playground/integration-tests/test}/setup.e2e.ts +2 -2
  159. package/{test → playground/integration-tests/test}/specs/mapi-round-trip.spec.e2e.ts +31 -41
  160. package/playground/integration-tests/test/types/components.test-d.ts +74 -0
  161. package/playground/integration-tests/test/types/resources.test-d.ts +212 -0
  162. package/playground/integration-tests/test/types/stories.test-d.ts +273 -0
  163. package/{vitest.config.e2e.ts → playground/integration-tests/vitest.config.e2e.ts} +1 -2
  164. package/playground/integration-tests/vitest.config.ts +13 -0
  165. package/test/GUIDE.md +4 -4
  166. package/vitest.config.ts +2 -0
  167. package/dist/generated/asset_folders/client.gen.cjs +0 -10
  168. package/dist/generated/asset_folders/client.gen.cjs.map +0 -1
  169. package/dist/generated/asset_folders/client.gen.mjs +0 -10
  170. package/dist/generated/asset_folders/client.gen.mjs.map +0 -1
  171. package/dist/generated/asset_folders/sdk.gen.cjs +0 -99
  172. package/dist/generated/asset_folders/sdk.gen.cjs.map +0 -1
  173. package/dist/generated/asset_folders/sdk.gen.mjs +0 -95
  174. package/dist/generated/asset_folders/sdk.gen.mjs.map +0 -1
  175. package/dist/generated/asset_folders/types.gen.d.cts +0 -130
  176. package/dist/generated/asset_folders/types.gen.d.mts +0 -130
  177. package/dist/generated/assets/client.gen.cjs +0 -10
  178. package/dist/generated/assets/client.gen.cjs.map +0 -1
  179. package/dist/generated/assets/client.gen.mjs +0 -10
  180. package/dist/generated/assets/client.gen.mjs.map +0 -1
  181. package/dist/generated/assets/sdk.gen.cjs +0 -179
  182. package/dist/generated/assets/sdk.gen.cjs.map +0 -1
  183. package/dist/generated/assets/sdk.gen.mjs +0 -171
  184. package/dist/generated/assets/sdk.gen.mjs.map +0 -1
  185. package/dist/generated/assets/types.gen.d.cts +0 -343
  186. package/dist/generated/assets/types.gen.d.mts +0 -343
  187. package/dist/generated/component_folders/client.gen.cjs +0 -10
  188. package/dist/generated/component_folders/client.gen.cjs.map +0 -1
  189. package/dist/generated/component_folders/client.gen.mjs +0 -10
  190. package/dist/generated/component_folders/client.gen.mjs.map +0 -1
  191. package/dist/generated/component_folders/sdk.gen.cjs +0 -99
  192. package/dist/generated/component_folders/sdk.gen.cjs.map +0 -1
  193. package/dist/generated/component_folders/sdk.gen.mjs +0 -95
  194. package/dist/generated/component_folders/sdk.gen.mjs.map +0 -1
  195. package/dist/generated/component_folders/types.gen.d.cts +0 -102
  196. package/dist/generated/component_folders/types.gen.d.mts +0 -102
  197. package/dist/generated/components/client.gen.cjs +0 -10
  198. package/dist/generated/components/client.gen.cjs.map +0 -1
  199. package/dist/generated/components/client.gen.mjs +0 -10
  200. package/dist/generated/components/client.gen.mjs.map +0 -1
  201. package/dist/generated/components/sdk.gen.cjs +0 -171
  202. package/dist/generated/components/sdk.gen.cjs.map +0 -1
  203. package/dist/generated/components/sdk.gen.mjs +0 -163
  204. package/dist/generated/components/sdk.gen.mjs.map +0 -1
  205. package/dist/generated/datasource_entries/client.gen.cjs +0 -10
  206. package/dist/generated/datasource_entries/client.gen.cjs.map +0 -1
  207. package/dist/generated/datasource_entries/client.gen.mjs +0 -10
  208. package/dist/generated/datasource_entries/client.gen.mjs.map +0 -1
  209. package/dist/generated/datasource_entries/sdk.gen.cjs +0 -89
  210. package/dist/generated/datasource_entries/sdk.gen.cjs.map +0 -1
  211. package/dist/generated/datasource_entries/sdk.gen.mjs +0 -85
  212. package/dist/generated/datasource_entries/sdk.gen.mjs.map +0 -1
  213. package/dist/generated/datasource_entries/types.gen.d.cts +0 -130
  214. package/dist/generated/datasource_entries/types.gen.d.mts +0 -130
  215. package/dist/generated/datasources/client.gen.cjs +0 -10
  216. package/dist/generated/datasources/client.gen.cjs.map +0 -1
  217. package/dist/generated/datasources/client.gen.mjs +0 -10
  218. package/dist/generated/datasources/client.gen.mjs.map +0 -1
  219. package/dist/generated/datasources/sdk.gen.cjs +0 -89
  220. package/dist/generated/datasources/sdk.gen.cjs.map +0 -1
  221. package/dist/generated/datasources/sdk.gen.mjs +0 -85
  222. package/dist/generated/datasources/sdk.gen.mjs.map +0 -1
  223. package/dist/generated/datasources/types.gen.d.cts +0 -165
  224. package/dist/generated/datasources/types.gen.d.mts +0 -165
  225. package/dist/generated/internal_tags/client.gen.cjs +0 -10
  226. package/dist/generated/internal_tags/client.gen.cjs.map +0 -1
  227. package/dist/generated/internal_tags/client.gen.mjs +0 -10
  228. package/dist/generated/internal_tags/client.gen.mjs.map +0 -1
  229. package/dist/generated/internal_tags/sdk.gen.cjs +0 -74
  230. package/dist/generated/internal_tags/sdk.gen.cjs.map +0 -1
  231. package/dist/generated/internal_tags/sdk.gen.mjs +0 -71
  232. package/dist/generated/internal_tags/sdk.gen.mjs.map +0 -1
  233. package/dist/generated/internal_tags/types.gen.d.cts +0 -102
  234. package/dist/generated/internal_tags/types.gen.d.mts +0 -102
  235. package/dist/generated/presets/client.gen.cjs +0 -10
  236. package/dist/generated/presets/client.gen.cjs.map +0 -1
  237. package/dist/generated/presets/client.gen.mjs +0 -10
  238. package/dist/generated/presets/client.gen.mjs.map +0 -1
  239. package/dist/generated/presets/sdk.gen.cjs +0 -99
  240. package/dist/generated/presets/sdk.gen.cjs.map +0 -1
  241. package/dist/generated/presets/sdk.gen.mjs +0 -95
  242. package/dist/generated/presets/sdk.gen.mjs.map +0 -1
  243. package/dist/generated/presets/types.gen.d.cts +0 -171
  244. package/dist/generated/presets/types.gen.d.mts +0 -171
  245. package/dist/generated/shared/client/client.gen.cjs.map +0 -1
  246. package/dist/generated/shared/client/client.gen.mjs.map +0 -1
  247. package/dist/generated/shared/client/utils.gen.cjs.map +0 -1
  248. package/dist/generated/shared/client/utils.gen.mjs.map +0 -1
  249. package/dist/generated/shared/core/auth.gen.cjs.map +0 -1
  250. package/dist/generated/shared/core/auth.gen.mjs.map +0 -1
  251. package/dist/generated/shared/core/bodySerializer.gen.cjs.map +0 -1
  252. package/dist/generated/shared/core/bodySerializer.gen.mjs.map +0 -1
  253. package/dist/generated/shared/core/params.gen.cjs.map +0 -1
  254. package/dist/generated/shared/core/params.gen.mjs.map +0 -1
  255. package/dist/generated/shared/core/pathSerializer.gen.cjs.map +0 -1
  256. package/dist/generated/shared/core/pathSerializer.gen.mjs.map +0 -1
  257. package/dist/generated/shared/core/serverSentEvents.gen.cjs.map +0 -1
  258. package/dist/generated/shared/core/serverSentEvents.gen.mjs.map +0 -1
  259. package/dist/generated/shared/core/utils.gen.cjs.map +0 -1
  260. package/dist/generated/shared/core/utils.gen.mjs.map +0 -1
  261. package/dist/generated/spaces/client.gen.cjs +0 -10
  262. package/dist/generated/spaces/client.gen.cjs.map +0 -1
  263. package/dist/generated/spaces/client.gen.mjs +0 -10
  264. package/dist/generated/spaces/client.gen.mjs.map +0 -1
  265. package/dist/generated/spaces/sdk.gen.cjs +0 -99
  266. package/dist/generated/spaces/sdk.gen.cjs.map +0 -1
  267. package/dist/generated/spaces/sdk.gen.mjs +0 -95
  268. package/dist/generated/spaces/sdk.gen.mjs.map +0 -1
  269. package/dist/generated/spaces/types.gen.d.cts +0 -504
  270. package/dist/generated/spaces/types.gen.d.mts +0 -504
  271. package/dist/generated/stories/client.gen.cjs +0 -10
  272. package/dist/generated/stories/client.gen.cjs.map +0 -1
  273. package/dist/generated/stories/client.gen.mjs +0 -10
  274. package/dist/generated/stories/client.gen.mjs.map +0 -1
  275. package/dist/generated/stories/sdk.gen.cjs +0 -138
  276. package/dist/generated/stories/sdk.gen.cjs.map +0 -1
  277. package/dist/generated/stories/sdk.gen.mjs +0 -131
  278. package/dist/generated/stories/sdk.gen.mjs.map +0 -1
  279. package/dist/generated/stories/types.gen.d.cts +0 -1314
  280. package/dist/generated/stories/types.gen.d.mts +0 -1314
  281. package/dist/generated/users/client.gen.cjs +0 -10
  282. package/dist/generated/users/client.gen.cjs.map +0 -1
  283. package/dist/generated/users/client.gen.mjs +0 -10
  284. package/dist/generated/users/client.gen.mjs.map +0 -1
  285. package/dist/generated/users/sdk.gen.cjs +0 -44
  286. package/dist/generated/users/sdk.gen.cjs.map +0 -1
  287. package/dist/generated/users/sdk.gen.mjs +0 -43
  288. package/dist/generated/users/sdk.gen.mjs.map +0 -1
  289. package/dist/generated/users/types.gen.d.cts +0 -249
  290. package/dist/generated/users/types.gen.d.mts +0 -249
  291. /package/dist/generated/{shared → mapi}/client/client.gen.d.mts +0 -0
  292. /package/dist/generated/{shared → mapi}/client/index.cjs +0 -0
  293. /package/dist/generated/{shared → mapi}/client/index.d.mts +0 -0
  294. /package/dist/generated/{shared → mapi}/client/index.mjs +0 -0
@@ -0,0 +1,5075 @@
1
+ //#region src/generated/mapi/types.gen.d.ts
2
+ type AssetUpdateRequest = {
3
+ asset?: {
4
+ /**
5
+ * Publish date
6
+ */
7
+ publish_at?: string;
8
+ /**
9
+ * Expire date
10
+ */
11
+ expire_at?: string;
12
+ /**
13
+ * Whether the asset is private
14
+ */
15
+ is_private?: boolean | null;
16
+ /**
17
+ * Asset folder ID
18
+ */
19
+ asset_folder_id?: number | null;
20
+ /**
21
+ * Alt
22
+ */
23
+ alt?: string | null;
24
+ /**
25
+ * Title
26
+ */
27
+ title?: string | null;
28
+ /**
29
+ * Copyright
30
+ */
31
+ copyright?: string | null;
32
+ /**
33
+ * Focus
34
+ */
35
+ focus?: string | null;
36
+ /**
37
+ * External ID
38
+ */
39
+ ext_id?: string | null;
40
+ /**
41
+ * Source
42
+ */
43
+ source?: string | null;
44
+ /**
45
+ * Internal tag IDs
46
+ */
47
+ internal_tag_ids?: Array<number>;
48
+ /**
49
+ * Metadata
50
+ */
51
+ meta_data?: {
52
+ [key: string]: unknown;
53
+ };
54
+ };
55
+ };
56
+ type ComponentCreateRequest = {
57
+ component: {
58
+ /**
59
+ * Name of the component
60
+ */
61
+ name: string;
62
+ /**
63
+ * Human-readable display name
64
+ */
65
+ display_name?: string;
66
+ /**
67
+ * Component description
68
+ */
69
+ description?: string;
70
+ /**
71
+ * Preview template HTML
72
+ */
73
+ preview_tmpl?: string;
74
+ /**
75
+ * Component image URL
76
+ */
77
+ image?: string;
78
+ /**
79
+ * Field used for preview
80
+ */
81
+ preview_field?: string;
82
+ /**
83
+ * Whether this component can be used as a root component
84
+ */
85
+ is_root?: boolean;
86
+ /**
87
+ * Whether this component can be nested inside other components
88
+ */
89
+ is_nestable?: boolean;
90
+ /**
91
+ * Default preset ID
92
+ */
93
+ preset_id?: number;
94
+ /**
95
+ * UUID
96
+ */
97
+ component_group_uuid?: string;
98
+ /**
99
+ * Component color for UI display
100
+ */
101
+ color?: string;
102
+ /**
103
+ * Component icon name
104
+ */
105
+ icon?: string;
106
+ /**
107
+ * Asset preview URL for content type
108
+ */
109
+ content_type_asset_preview?: string;
110
+ /**
111
+ * List of internal tag IDs
112
+ */
113
+ internal_tag_ids?: Array<number>;
114
+ /**
115
+ * Component field schema definition
116
+ */
117
+ schema?: {
118
+ [key: string]: {
119
+ type?: 'bloks' | 'text' | 'textarea' | 'richtext' | 'markdown' | 'number' | 'datetime' | 'boolean' | 'options' | 'option' | 'asset' | 'multiasset' | 'multilink' | 'table' | 'section' | 'commerce' | 'custom' | 'image' | 'file' | 'tab' | 'link' | 'group';
120
+ /**
121
+ * Human-readable field name
122
+ */
123
+ display_name?: string;
124
+ /**
125
+ * Whether this field is required
126
+ */
127
+ required?: boolean;
128
+ /**
129
+ * Whether this field is translatable
130
+ */
131
+ translatable?: boolean;
132
+ [key: string]: unknown | 'bloks' | 'text' | 'textarea' | 'richtext' | 'markdown' | 'number' | 'datetime' | 'boolean' | 'options' | 'option' | 'asset' | 'multiasset' | 'multilink' | 'table' | 'section' | 'commerce' | 'custom' | 'image' | 'file' | 'tab' | 'link' | 'group' | string | boolean | undefined;
133
+ };
134
+ };
135
+ /**
136
+ * Component metadata
137
+ */
138
+ metadata?: {
139
+ [key: string]: unknown;
140
+ };
141
+ };
142
+ };
143
+ type ComponentGroupRequest = {
144
+ component_group: {
145
+ /**
146
+ * Name of the component group
147
+ */
148
+ name: string;
149
+ /**
150
+ * Parent component group ID
151
+ */
152
+ parent_id?: number | null;
153
+ };
154
+ };
155
+ type ComponentUpdateRequest = {
156
+ component: {
157
+ /**
158
+ * Name of the component
159
+ */
160
+ name?: string;
161
+ /**
162
+ * Human-readable display name
163
+ */
164
+ display_name?: string;
165
+ /**
166
+ * Component description
167
+ */
168
+ description?: string;
169
+ /**
170
+ * Preview template HTML
171
+ */
172
+ preview_tmpl?: string;
173
+ /**
174
+ * Component image URL
175
+ */
176
+ image?: string;
177
+ /**
178
+ * Field used for preview
179
+ */
180
+ preview_field?: string;
181
+ /**
182
+ * Whether this component can be used as a root component
183
+ */
184
+ is_root?: boolean;
185
+ /**
186
+ * Whether this component can be nested inside other components
187
+ */
188
+ is_nestable?: boolean;
189
+ /**
190
+ * Default preset ID
191
+ */
192
+ preset_id?: number;
193
+ /**
194
+ * UUID
195
+ */
196
+ component_group_uuid?: string;
197
+ /**
198
+ * Component color for UI display
199
+ */
200
+ color?: string;
201
+ /**
202
+ * Component icon name
203
+ */
204
+ icon?: string;
205
+ /**
206
+ * Asset preview URL for content type
207
+ */
208
+ content_type_asset_preview?: string;
209
+ /**
210
+ * List of internal tag IDs
211
+ */
212
+ internal_tag_ids?: Array<number>;
213
+ /**
214
+ * Component field schema definition
215
+ */
216
+ schema?: {
217
+ [key: string]: {
218
+ type?: 'bloks' | 'text' | 'textarea' | 'richtext' | 'markdown' | 'number' | 'datetime' | 'boolean' | 'options' | 'option' | 'asset' | 'multiasset' | 'multilink' | 'table' | 'section' | 'commerce' | 'custom' | 'image' | 'file' | 'tab' | 'link' | 'group';
219
+ /**
220
+ * Human-readable field name
221
+ */
222
+ display_name?: string;
223
+ /**
224
+ * Whether this field is required
225
+ */
226
+ required?: boolean;
227
+ /**
228
+ * Whether this field is translatable
229
+ */
230
+ translatable?: boolean;
231
+ [key: string]: unknown | 'bloks' | 'text' | 'textarea' | 'richtext' | 'markdown' | 'number' | 'datetime' | 'boolean' | 'options' | 'option' | 'asset' | 'multiasset' | 'multilink' | 'table' | 'section' | 'commerce' | 'custom' | 'image' | 'file' | 'tab' | 'link' | 'group' | string | boolean | undefined;
232
+ };
233
+ };
234
+ /**
235
+ * Component metadata
236
+ */
237
+ metadata?: {
238
+ [key: string]: unknown;
239
+ };
240
+ };
241
+ };
242
+ type CreateDatasourceEntryRequest = {
243
+ datasource_entry: {
244
+ /**
245
+ * The name (key) of the datasource entry
246
+ */
247
+ name: string;
248
+ /**
249
+ * The value of the datasource entry
250
+ */
251
+ value: string;
252
+ /**
253
+ * The ID of the datasource this entry belongs to
254
+ */
255
+ datasource_id: number;
256
+ /**
257
+ * The value for a specific dimension
258
+ */
259
+ dimension_value?: string;
260
+ /**
261
+ * The position of the entry in the datasource
262
+ */
263
+ position?: number;
264
+ };
265
+ };
266
+ type CreateDatasourceRequest = {
267
+ datasource: {
268
+ /**
269
+ * The name of the datasource
270
+ */
271
+ name: string;
272
+ /**
273
+ * The unique slug of the datasource
274
+ */
275
+ slug: string;
276
+ /**
277
+ * Array of dimensions to create for this datasource
278
+ */
279
+ dimensions_attributes?: Array<{
280
+ /**
281
+ * ID of existing dimension (for updates)
282
+ */
283
+ id?: number;
284
+ /**
285
+ * Name of the dimension
286
+ */
287
+ name?: string;
288
+ /**
289
+ * Value for the dimension entry
290
+ */
291
+ entry_value?: string;
292
+ /**
293
+ * Set to true to delete this dimension
294
+ */
295
+ _destroy?: boolean;
296
+ }>;
297
+ };
298
+ };
299
+ type CreateExperimentRequest = {
300
+ experiment: {
301
+ /**
302
+ * Internal name (lowercase letters, numbers, underscores only)
303
+ */
304
+ name: string;
305
+ /**
306
+ * Human-readable display name
307
+ */
308
+ display_name: string;
309
+ /**
310
+ * Optional description of the experiment
311
+ */
312
+ description?: string;
313
+ /**
314
+ * IDs of stories to assign to this experiment
315
+ */
316
+ story_ids?: Array<number>;
317
+ /**
318
+ * Variants to create with the experiment
319
+ */
320
+ experiment_variants_attributes?: Array<{
321
+ /**
322
+ * Internal name (lowercase, numbers, underscores)
323
+ */
324
+ name: string;
325
+ /**
326
+ * Human-readable display name
327
+ */
328
+ display_name: string;
329
+ /**
330
+ * Traffic weight percentage (0-100)
331
+ */
332
+ weight?: number;
333
+ /**
334
+ * Whether this is the control variant
335
+ */
336
+ is_control?: boolean;
337
+ }>;
338
+ };
339
+ };
340
+ type CreateExperimentStoryRequest = {
341
+ experiment_story: {
342
+ /**
343
+ * ID of the story to link
344
+ */
345
+ story_id: number;
346
+ };
347
+ };
348
+ type CreatePresetRequest = {
349
+ preset: {
350
+ /**
351
+ * Name of the preset
352
+ */
353
+ name: string;
354
+ /**
355
+ * The preset content configuration as JSON object
356
+ */
357
+ preset?: {
358
+ [key: string]: unknown;
359
+ };
360
+ /**
361
+ * ID of the component this preset belongs to
362
+ */
363
+ component_id: number;
364
+ /**
365
+ * URL of the preset preview image
366
+ */
367
+ image?: string;
368
+ /**
369
+ * Icon identifier for the preset
370
+ */
371
+ icon?: string;
372
+ /**
373
+ * Color associated with the preset
374
+ */
375
+ color?: string;
376
+ /**
377
+ * Description of the preset
378
+ */
379
+ description?: string;
380
+ };
381
+ };
382
+ type CreateSpaceRequest = {
383
+ space: {
384
+ /**
385
+ * The name of the space
386
+ */
387
+ name: string;
388
+ /**
389
+ * The domain associated with the space
390
+ */
391
+ domain?: string | null;
392
+ /**
393
+ * ID of parent space if creating a child space
394
+ */
395
+ parent_id?: number | null;
396
+ /**
397
+ * Webhook URL for story published events
398
+ */
399
+ story_published_hook?: string | null;
400
+ /**
401
+ * Searchblok integration ID
402
+ */
403
+ searchblok_id?: string | null;
404
+ /**
405
+ * Whether this is a demo space
406
+ */
407
+ is_demo?: boolean;
408
+ /**
409
+ * Blueprint reference for space initialization
410
+ */
411
+ blueprint_reference?: string | null;
412
+ /**
413
+ * Whether to disable the onboarding tour
414
+ */
415
+ onboarding_tour_disabled?: boolean;
416
+ /**
417
+ * Initial environments configuration
418
+ */
419
+ environments?: Array<{
420
+ name: string;
421
+ location: string;
422
+ }>;
423
+ };
424
+ };
425
+ type DatasourceEntriesIndexResponse = {
426
+ datasource_entries: Array<DatasourceEntry>;
427
+ };
428
+ type DatasourceEntryShowResponse = {
429
+ datasource_entry: DatasourceEntry;
430
+ };
431
+ type InternalTagRequest = {
432
+ internal_tag: {
433
+ /**
434
+ * The name of the internal tag
435
+ */
436
+ name: string;
437
+ /**
438
+ * The type of object this tag is associated with
439
+ */
440
+ object_type?: 'asset' | 'component' | 'idea';
441
+ };
442
+ };
443
+ type LocalizedPath = {
444
+ /**
445
+ * The localized path
446
+ */
447
+ path: string;
448
+ /**
449
+ * The translated name
450
+ */
451
+ name: string | null;
452
+ /**
453
+ * The language code for this translation.
454
+ */
455
+ lang: string;
456
+ /**
457
+ * Published status or date
458
+ */
459
+ published: boolean | string | null;
460
+ /**
461
+ * The translated slug (only present when folders are used).
462
+ */
463
+ translated_slug?: string;
464
+ };
465
+ type PushExperimentResultsRequest = {
466
+ /**
467
+ * Array of pre-computed chart objects (max 20). Each item must be a BarChart, LineChart, or TextChart.
468
+ */
469
+ charts: Array<{
470
+ /**
471
+ * Chart type discriminator
472
+ */
473
+ kind: 'bar' | 'line' | 'text';
474
+ /**
475
+ * Optional chart title
476
+ */
477
+ title?: string | null;
478
+ /**
479
+ * Optional x-axis label (bar and line charts)
480
+ */
481
+ xLabel?: string | null;
482
+ /**
483
+ * Optional y-axis label (bar and line charts)
484
+ */
485
+ yLabel?: string | null;
486
+ /**
487
+ * Category or time-axis labels (required for bar and line charts)
488
+ */
489
+ labels?: Array<string>;
490
+ /**
491
+ * Data series (required for bar and line charts)
492
+ */
493
+ series?: Array<{
494
+ /**
495
+ * Series label
496
+ */
497
+ label: string;
498
+ /**
499
+ * Numeric data points aligned with labels
500
+ */
501
+ data: Array<number>;
502
+ }>;
503
+ /**
504
+ * Text content (required for text charts)
505
+ */
506
+ body?: string;
507
+ }>;
508
+ };
509
+ type Stage = {
510
+ /**
511
+ * The workflow ID
512
+ */
513
+ workflow_id: number | null;
514
+ /**
515
+ * The workflow stage ID
516
+ */
517
+ workflow_stage_id: number;
518
+ /**
519
+ * The story ID
520
+ */
521
+ story_id: number;
522
+ /**
523
+ * The due date for this workflow stage
524
+ */
525
+ due_date: string | null;
526
+ /**
527
+ * Creation timestamp (format is ISO 8601 standard in UTC).
528
+ */
529
+ created_at: string;
530
+ };
531
+ type UpdateDatasourceEntryRequest = {
532
+ datasource_entry: {
533
+ /**
534
+ * The name (key) of the datasource entry
535
+ */
536
+ name?: string;
537
+ /**
538
+ * The value of the datasource entry
539
+ */
540
+ value?: string;
541
+ /**
542
+ * The ID of the datasource this entry belongs to
543
+ */
544
+ datasource_id?: number;
545
+ /**
546
+ * The value for a specific dimension
547
+ */
548
+ dimension_value?: string;
549
+ /**
550
+ * The position of the entry in the datasource
551
+ */
552
+ position?: number;
553
+ };
554
+ };
555
+ type UpdateDatasourceRequest = {
556
+ datasource: {
557
+ /**
558
+ * The name of the datasource
559
+ */
560
+ name?: string;
561
+ /**
562
+ * The unique slug of the datasource
563
+ */
564
+ slug?: string;
565
+ /**
566
+ * Array of dimensions to update or create for this datasource
567
+ */
568
+ dimensions_attributes?: Array<{
569
+ /**
570
+ * ID of existing dimension (for updates)
571
+ */
572
+ id?: number;
573
+ /**
574
+ * Name of the dimension
575
+ */
576
+ name?: string;
577
+ /**
578
+ * Value for the dimension entry
579
+ */
580
+ entry_value?: string;
581
+ /**
582
+ * Set to true to delete this dimension
583
+ */
584
+ _destroy?: boolean;
585
+ }>;
586
+ };
587
+ };
588
+ type UpdateExperimentRequest = {
589
+ experiment: {
590
+ /**
591
+ * Human-readable display name
592
+ */
593
+ display_name?: string;
594
+ /**
595
+ * Optional description of the experiment
596
+ */
597
+ description?: string;
598
+ /**
599
+ * IDs of stories to assign to this experiment
600
+ */
601
+ story_ids?: Array<number>;
602
+ /**
603
+ * Variants to add, update, or remove
604
+ */
605
+ experiment_variants_attributes?: Array<{
606
+ /**
607
+ * ID of existing variant (required for update/delete)
608
+ */
609
+ id?: number;
610
+ /**
611
+ * Internal name (lowercase, numbers, underscores)
612
+ */
613
+ name?: string;
614
+ /**
615
+ * Human-readable display name
616
+ */
617
+ display_name?: string;
618
+ /**
619
+ * Traffic weight percentage (0-100)
620
+ */
621
+ weight?: number;
622
+ /**
623
+ * Whether this is the control variant
624
+ */
625
+ is_control?: boolean;
626
+ /**
627
+ * Set to true to remove this variant
628
+ */
629
+ _destroy?: boolean;
630
+ }>;
631
+ };
632
+ };
633
+ type UpdatePresetRequest = {
634
+ preset: {
635
+ /**
636
+ * Name of the preset
637
+ */
638
+ name?: string;
639
+ /**
640
+ * The preset content configuration as JSON object
641
+ */
642
+ preset?: {
643
+ [key: string]: unknown;
644
+ };
645
+ /**
646
+ * ID of the component this preset belongs to
647
+ */
648
+ component_id?: number;
649
+ /**
650
+ * URL of the preset preview image
651
+ */
652
+ image?: string;
653
+ /**
654
+ * Icon identifier for the preset
655
+ */
656
+ icon?: string;
657
+ /**
658
+ * Color associated with the preset
659
+ */
660
+ color?: string;
661
+ /**
662
+ * Description of the preset
663
+ */
664
+ description?: string;
665
+ };
666
+ };
667
+ type UpdateSpaceRequest = {
668
+ space: {
669
+ /**
670
+ * The name of the space
671
+ */
672
+ name?: string;
673
+ /**
674
+ * The domain associated with the space
675
+ */
676
+ domain?: string;
677
+ /**
678
+ * Webhook URL for story published events
679
+ */
680
+ story_published_hook?: string | null;
681
+ /**
682
+ * Unique domain for the space
683
+ */
684
+ uniq_domain?: string | null;
685
+ /**
686
+ * ID of the new owner (only changeable by current owner)
687
+ */
688
+ owner_id?: number;
689
+ /**
690
+ * Whether this is a demo space
691
+ */
692
+ is_demo?: boolean;
693
+ /**
694
+ * Searchblok integration ID
695
+ */
696
+ searchblok_id?: string | null;
697
+ /**
698
+ * ID of parent space
699
+ */
700
+ parent_id?: number | null;
701
+ /**
702
+ * Cache version
703
+ */
704
+ version?: number;
705
+ /**
706
+ * Whether the space can be duplicated
707
+ */
708
+ duplicatable?: boolean;
709
+ /**
710
+ * Default root component type
711
+ */
712
+ default_root?: string;
713
+ /**
714
+ * AWS role for asset management
715
+ */
716
+ asset_aws_role?: string | null;
717
+ /**
718
+ * Personal S3 bucket for assets
719
+ */
720
+ personal_s3_asset_bucket?: string | null;
721
+ /**
722
+ * AWS region for assets
723
+ */
724
+ asset_region?: string | null;
725
+ /**
726
+ * Token for webhook authentication
727
+ */
728
+ webhook_token?: string | null;
729
+ /**
730
+ * Whether to use translated stories feature
731
+ */
732
+ use_translated_stories?: boolean;
733
+ /**
734
+ * Backup schedule time
735
+ */
736
+ backup_time?: string | null;
737
+ /**
738
+ * Current onboarding step
739
+ */
740
+ onboarding_step?: string | null;
741
+ /**
742
+ * Webhook URL for release merged events
743
+ */
744
+ release_merged_hook?: string | null;
745
+ /**
746
+ * Webhook URL for branch deployed events
747
+ */
748
+ branch_deployed_hook?: string | null;
749
+ /**
750
+ * Webhook URL for datasource entry saved events
751
+ */
752
+ datasource_entry_saved_hook?: string | null;
753
+ /**
754
+ * Webhook URL for story saved events
755
+ */
756
+ story_saved_hook?: string | null;
757
+ /**
758
+ * Webhook URL for stage changed events
759
+ */
760
+ stage_changed_hook?: string | null;
761
+ /**
762
+ * S3 bucket name
763
+ */
764
+ s3_bucket?: string | null;
765
+ /**
766
+ * AWS ARN for external integrations
767
+ */
768
+ aws_arn?: string | null;
769
+ /**
770
+ * Cloudinary cloud name
771
+ */
772
+ cloudinary_cloud_name?: string | null;
773
+ /**
774
+ * Cloudinary API key
775
+ */
776
+ cloudinary_api_key?: string | null;
777
+ /**
778
+ * Backup frequency setting
779
+ */
780
+ backup_frequency?: string | null;
781
+ /**
782
+ * Day of week for weekly backups (0-6)
783
+ */
784
+ backup_week_day?: number | null;
785
+ /**
786
+ * Default language name
787
+ */
788
+ default_lang_name?: string | null;
789
+ /**
790
+ * Default AI translation language code (AiServices::TextService::LANGUAGES); defaults to en
791
+ */
792
+ default_ai_lang_code?: string | null;
793
+ /**
794
+ * Whether to use hosted backups
795
+ */
796
+ hosted_backup?: boolean;
797
+ /**
798
+ * Whether space is in maintenance mode
799
+ */
800
+ maintenance?: boolean;
801
+ /**
802
+ * Tablet screen size in pixels
803
+ */
804
+ tablet_size?: number | null;
805
+ /**
806
+ * Mobile screen size in pixels
807
+ */
808
+ mobile_size?: number | null;
809
+ /**
810
+ * Whether visual mode is disabled
811
+ */
812
+ visual_mode_disable?: boolean;
813
+ /**
814
+ * Whether AI text generation is disabled
815
+ */
816
+ ai_text_generator_disabled?: boolean;
817
+ /**
818
+ * Whether to track usage statistics
819
+ */
820
+ track_statistics?: boolean;
821
+ /**
822
+ * Custom upload limit in megabytes
823
+ */
824
+ custom_upload_limit_in_mb?: number | null;
825
+ /**
826
+ * Whether strong authentication is required
827
+ */
828
+ strong_auth?: boolean;
829
+ /**
830
+ * Auto-delete old versions after specified days
831
+ */
832
+ auto_delete_old_versions_after_days?: number | null;
833
+ /**
834
+ * Whether to encode preview URLs
835
+ */
836
+ encode_preview_urls?: boolean;
837
+ /**
838
+ * Whether to enable extended character set in story slugs
839
+ */
840
+ enable_extended_char_set_in_stories_slug?: boolean;
841
+ /**
842
+ * Whether to show alternative versions of stories
843
+ */
844
+ show_stories_alternative_versions?: boolean;
845
+ /**
846
+ * Blueprint reference
847
+ */
848
+ blueprint_reference?: string | null;
849
+ /**
850
+ * Whether to inherit organization AI configuration
851
+ */
852
+ inherit_org_ai_configuration?: boolean;
853
+ /**
854
+ * Whether to disable the onboarding tour
855
+ */
856
+ onboarding_tour_disabled?: boolean;
857
+ /**
858
+ * Language configuration
859
+ */
860
+ languages?: Array<{
861
+ code: string;
862
+ name: string;
863
+ ai_translation_code?: string | null;
864
+ }>;
865
+ /**
866
+ * Custom routes configuration
867
+ */
868
+ routes?: Array<{
869
+ pattern: string;
870
+ template: string;
871
+ }>;
872
+ /**
873
+ * Environment configuration
874
+ */
875
+ environments?: Array<{
876
+ name: string;
877
+ location: string;
878
+ }>;
879
+ /**
880
+ * Web crawling configuration
881
+ */
882
+ crawl_config?: {
883
+ base_url?: string;
884
+ enabled?: boolean;
885
+ };
886
+ /**
887
+ * Billing address information
888
+ */
889
+ billing_address?: {
890
+ tax_number?: string;
891
+ order_number?: string;
892
+ company?: string;
893
+ email?: string;
894
+ name?: string;
895
+ address_city?: string;
896
+ address_country?: string;
897
+ address_iso_country?: string;
898
+ address_line1?: string;
899
+ address_zip?: string;
900
+ };
901
+ /**
902
+ * Required asset fields configuration
903
+ */
904
+ required_assest_fields?: Array<string>;
905
+ /**
906
+ * Custom metadata schema for assets
907
+ */
908
+ asset_custom_meta_data_schema?: Array<{
909
+ key?: string;
910
+ display_name?: string;
911
+ regex?: string | null;
912
+ regex_message?: string | null;
913
+ required?: boolean;
914
+ translatable?: boolean;
915
+ filetypes?: Array<string>;
916
+ }>;
917
+ /**
918
+ * Translatable asset fields configuration
919
+ */
920
+ translatable_asset_fields?: Array<string>;
921
+ /**
922
+ * Dimension app folder configurations with full metadata. Each item represents a dimension with its associated root folder.
923
+ */
924
+ dimensions_app_folders?: Array<{
925
+ /**
926
+ * The ID of the linked folder
927
+ */
928
+ folder_id: number;
929
+ /**
930
+ * The AI translation code for this folder
931
+ */
932
+ ai_translation_code: string | null;
933
+ }>;
934
+ /**
935
+ * Whether to enable AI translation for the dimensions app
936
+ */
937
+ enable_dimensions_app_ai_translation?: boolean;
938
+ };
939
+ };
940
+ type UpdateStoryRequest = {
941
+ story: {
942
+ name?: string;
943
+ disble_fe_editor?: boolean;
944
+ disable_fe_editor?: boolean;
945
+ /**
946
+ * The default root
947
+ */
948
+ default_root?: string | null;
949
+ is_folder?: boolean;
950
+ group_id?: string;
951
+ path?: string | null;
952
+ slug?: string;
953
+ is_startpage?: boolean;
954
+ /**
955
+ * ID of the parent folder. Can be null or 0 for root-level stories.
956
+ */
957
+ parent_id?: number | null;
958
+ sort_by_date?: string | null;
959
+ meta_data?: {
960
+ [key: string]: unknown;
961
+ } | null;
962
+ publish_at?: string | null;
963
+ expire_at?: string | null;
964
+ first_published_at?: string | null;
965
+ pinned?: boolean;
966
+ position?: number;
967
+ tag_list?: Array<string>;
968
+ base_version_id?: number | null;
969
+ /**
970
+ * Array of translated slug attributes for creating or updating translated slugs.
971
+ */
972
+ translated_slugs_attributes?: Array<{
973
+ /**
974
+ * ID of the translated slug (required for updates, omit for new records)
975
+ */
976
+ id?: number;
977
+ /**
978
+ * The slug for this translated slug (required)
979
+ */
980
+ slug?: string;
981
+ /**
982
+ * The name for this translated slug
983
+ */
984
+ name?: string | null;
985
+ /**
986
+ * The language code for this translation
987
+ */
988
+ lang?: string;
989
+ /**
990
+ * Set to true to mark this translated slug for deletion when the story is saved
991
+ */
992
+ _destroy?: boolean | null;
993
+ }> | null;
994
+ /**
995
+ * Dynamic component data rendered by Storyblok, structure varies by component
996
+ */
997
+ content?: {
998
+ [key: string]: unknown;
999
+ };
1000
+ };
1001
+ };
1002
+ type UserUpdateRequest = {
1003
+ user: {
1004
+ email?: string;
1005
+ password?: string;
1006
+ password_confirmation?: string;
1007
+ current_password?: string;
1008
+ firstname?: string;
1009
+ lastname?: string;
1010
+ username?: string;
1011
+ lang?: string;
1012
+ timezone?: string;
1013
+ use_username?: boolean;
1014
+ alt_email?: string;
1015
+ login_strategy?: 'password' | 'otp_email' | 'otp_sms';
1016
+ phone?: string;
1017
+ is_editor?: boolean;
1018
+ job_role?: string;
1019
+ job_title?: string;
1020
+ company_name?: string;
1021
+ company_size?: string;
1022
+ usage_type?: string;
1023
+ framework_used?: string;
1024
+ beta_user?: boolean;
1025
+ track_statistics?: boolean;
1026
+ ui_theme?: {
1027
+ [key: string]: unknown;
1028
+ };
1029
+ favourite_spaces?: Array<number>;
1030
+ favourite_ideas?: Array<number>;
1031
+ notified?: Array<string>;
1032
+ disclaimer_ids?: Array<number>;
1033
+ };
1034
+ /**
1035
+ * OTP code for phone verification.
1036
+ */
1037
+ otp_attempt?: string;
1038
+ };
1039
+ type CreateAsset = {
1040
+ fields: {
1041
+ /**
1042
+ * acl
1043
+ */
1044
+ acl: string;
1045
+ /**
1046
+ * Cache Control
1047
+ */
1048
+ 'Cache-Control': string;
1049
+ /**
1050
+ * Content Type
1051
+ */
1052
+ 'Content-Type': string;
1053
+ /**
1054
+ * key
1055
+ */
1056
+ key: string;
1057
+ /**
1058
+ * Expiration date (optional)
1059
+ */
1060
+ Expires?: string;
1061
+ /**
1062
+ * policy
1063
+ */
1064
+ policy: string;
1065
+ /**
1066
+ * credential
1067
+ */
1068
+ 'x-amz-credential': string;
1069
+ /**
1070
+ * algorithm
1071
+ */
1072
+ 'x-amz-algorithm': string;
1073
+ /**
1074
+ * date
1075
+ */
1076
+ 'x-amz-date': string;
1077
+ /**
1078
+ * signature
1079
+ */
1080
+ 'x-amz-signature': string;
1081
+ };
1082
+ post_url: string;
1083
+ pretty_url: string;
1084
+ public_url: string;
1085
+ id: number;
1086
+ locked: boolean;
1087
+ /**
1088
+ * Custom metadata for the asset
1089
+ */
1090
+ meta_data: {
1091
+ [key: string]: unknown;
1092
+ };
1093
+ };
1094
+ type FinishUploadAsset = {
1095
+ /**
1096
+ * ID of the asset.
1097
+ */
1098
+ id: number;
1099
+ /**
1100
+ * Alt text for the asset (default language).
1101
+ */
1102
+ alt?: string | null;
1103
+ /**
1104
+ * Copyright text.
1105
+ */
1106
+ copyright?: string | null;
1107
+ /**
1108
+ * Full path of the asset, including the file name.
1109
+ */
1110
+ filename: string;
1111
+ /**
1112
+ * Focus point.
1113
+ */
1114
+ focus?: string | null;
1115
+ /**
1116
+ * Defines if the asset should be inaccessible to the public.
1117
+ */
1118
+ is_private: boolean;
1119
+ /**
1120
+ * User's job title or role.
1121
+ */
1122
+ title?: string | null;
1123
+ };
1124
+ type IndexAsset = {
1125
+ /**
1126
+ * Id of the asset.
1127
+ */
1128
+ id: number;
1129
+ /**
1130
+ * Alt text for the asset (default language).
1131
+ */
1132
+ alt?: string | null;
1133
+ /**
1134
+ * Id of the folder containing this asset.
1135
+ */
1136
+ asset_folder_id?: number | null;
1137
+ /**
1138
+ * The content length in bytes.
1139
+ */
1140
+ content_length: number;
1141
+ /**
1142
+ * The content type.
1143
+ */
1144
+ content_type: string;
1145
+ /**
1146
+ * Copyright text.
1147
+ */
1148
+ copyright?: string | null;
1149
+ expire_at?: string | null;
1150
+ /**
1151
+ * Ext id
1152
+ */
1153
+ ext_id?: string | null;
1154
+ /**
1155
+ * Full path of the asset, including the file name.
1156
+ */
1157
+ filename: string;
1158
+ /**
1159
+ * Focus point.
1160
+ */
1161
+ focus?: string | null;
1162
+ internal_tag_ids?: Array<number>;
1163
+ /**
1164
+ * Defines if the asset should be inaccessible to the public.
1165
+ */
1166
+ is_private: boolean;
1167
+ /**
1168
+ * If locked
1169
+ */
1170
+ locked?: boolean;
1171
+ /**
1172
+ * Custom metadata for the asset
1173
+ */
1174
+ meta_data?: {
1175
+ [key: string]: unknown;
1176
+ } | null;
1177
+ publish_at?: string | null;
1178
+ /**
1179
+ * file name
1180
+ */
1181
+ short_filename?: string;
1182
+ /**
1183
+ * source
1184
+ */
1185
+ source?: string | null;
1186
+ /**
1187
+ * source
1188
+ */
1189
+ space_id: number;
1190
+ /**
1191
+ * User's job title or role.
1192
+ */
1193
+ title?: string | null;
1194
+ /**
1195
+ * Creation timestamp (format is ISO 8601 standard in UTC).
1196
+ */
1197
+ created_at: string;
1198
+ /**
1199
+ * Latest update timestamp (format is ISO 8601 standard in UTC).
1200
+ */
1201
+ updated_at: string;
1202
+ deleted_at?: string | null;
1203
+ internal_tags_list: Array<{
1204
+ id: number;
1205
+ name: string;
1206
+ }>;
1207
+ };
1208
+ type ShowAsset = {
1209
+ /**
1210
+ * Id of the asset.
1211
+ */
1212
+ id: number;
1213
+ /**
1214
+ * Full path of the asset, including the file name.
1215
+ */
1216
+ filename: string;
1217
+ /**
1218
+ * ID of the space this asset belongs to
1219
+ */
1220
+ space_id: number;
1221
+ /**
1222
+ * Creation timestamp (format is ISO 8601 standard in UTC).
1223
+ */
1224
+ created_at: string;
1225
+ /**
1226
+ * Latest update timestamp (format is ISO 8601 standard in UTC).
1227
+ */
1228
+ updated_at: string;
1229
+ /**
1230
+ * File object with upload details
1231
+ */
1232
+ file?: {
1233
+ [key: string]: unknown;
1234
+ } | null;
1235
+ /**
1236
+ * Id of the folder containing this asset.
1237
+ */
1238
+ asset_folder_id?: number | null;
1239
+ deleted_at?: string | null;
1240
+ /**
1241
+ * file name
1242
+ */
1243
+ short_filename?: string;
1244
+ /**
1245
+ * The content length in bytes.
1246
+ */
1247
+ content_length?: number | null;
1248
+ /**
1249
+ * The content type.
1250
+ */
1251
+ content_type?: string | null;
1252
+ /**
1253
+ * deleted?.
1254
+ */
1255
+ permanently_deleted?: boolean | null;
1256
+ /**
1257
+ * Alt text for the asset (default language).
1258
+ */
1259
+ alt?: string | null;
1260
+ /**
1261
+ * Copyright text.
1262
+ */
1263
+ copyright?: string | null;
1264
+ /**
1265
+ * User's job title or role.
1266
+ */
1267
+ title?: string | null;
1268
+ /**
1269
+ * Focus point.
1270
+ */
1271
+ focus?: string | null;
1272
+ /**
1273
+ * Ext id
1274
+ */
1275
+ ext_id?: string | null;
1276
+ expire_at?: string | null;
1277
+ /**
1278
+ * source
1279
+ */
1280
+ source?: string | null;
1281
+ /**
1282
+ * List of internal tag IDs
1283
+ */
1284
+ internal_tag_ids?: Array<number>;
1285
+ /**
1286
+ * If locked
1287
+ */
1288
+ locked?: boolean;
1289
+ /**
1290
+ * Defines if the asset should be inaccessible to the public.
1291
+ */
1292
+ is_private: boolean;
1293
+ publish_at?: string | null;
1294
+ /**
1295
+ * Additional metadata
1296
+ */
1297
+ meta_data?: {
1298
+ [key: string]: unknown;
1299
+ } | null;
1300
+ /**
1301
+ * List of internal tags
1302
+ */
1303
+ internal_tags_list?: Array<{
1304
+ id: number;
1305
+ name: string;
1306
+ }>;
1307
+ };
1308
+ /**
1309
+ * A dimension for datasource entries, enabling localized or context-specific values
1310
+ */
1311
+ type Dimension = {
1312
+ /**
1313
+ * ID
1314
+ */
1315
+ id: number;
1316
+ /**
1317
+ * Name
1318
+ */
1319
+ name: string;
1320
+ /**
1321
+ * The value provided for the datasource dimension.
1322
+ */
1323
+ entry_value: string;
1324
+ /**
1325
+ * The numeric ID of the datasource that the dimension belongs to.
1326
+ */
1327
+ datasource_id?: number;
1328
+ /**
1329
+ * Creation timestamp (format is ISO 8601 standard in UTC).
1330
+ */
1331
+ created_at?: string;
1332
+ /**
1333
+ * Latest update timestamp (format is ISO 8601 standard in UTC).
1334
+ */
1335
+ updated_at?: string;
1336
+ };
1337
+ type Preset = {
1338
+ /**
1339
+ * Unique identifier of the preset
1340
+ */
1341
+ id: number;
1342
+ /**
1343
+ * Name of the preset
1344
+ */
1345
+ name: string;
1346
+ /**
1347
+ * The preset content configuration as JSON object
1348
+ */
1349
+ preset: {
1350
+ [key: string]: unknown;
1351
+ } | null;
1352
+ /**
1353
+ * ID of the component this preset belongs to
1354
+ */
1355
+ component_id: number;
1356
+ /**
1357
+ * ID of the space this preset belongs to
1358
+ */
1359
+ space_id: number;
1360
+ /**
1361
+ * URL of the preset preview image
1362
+ */
1363
+ image?: string | null;
1364
+ /**
1365
+ * Color associated with the preset
1366
+ */
1367
+ color?: string | null;
1368
+ /**
1369
+ * Icon identifier for the preset
1370
+ */
1371
+ icon?: string | null;
1372
+ /**
1373
+ * Description of the preset
1374
+ */
1375
+ description?: string | null;
1376
+ /**
1377
+ * Creation timestamp (format is ISO 8601 standard in UTC).
1378
+ */
1379
+ created_at: string;
1380
+ /**
1381
+ * Latest update timestamp (format is ISO 8601 standard in UTC).
1382
+ */
1383
+ updated_at: string;
1384
+ };
1385
+ type Alternate = {
1386
+ id: number;
1387
+ name: string;
1388
+ /**
1389
+ * URL-friendly identifier for the app category.
1390
+ */
1391
+ slug: string;
1392
+ published: boolean | null;
1393
+ full_slug: string;
1394
+ /**
1395
+ * true if the instance constitutes a folder.
1396
+ */
1397
+ is_folder: boolean;
1398
+ /**
1399
+ * ID of parent space if this is a child space.
1400
+ */
1401
+ parent_id: number;
1402
+ };
1403
+ /**
1404
+ * Folder for organizing assets within a space
1405
+ */
1406
+ type AssetFolder = {
1407
+ id: number;
1408
+ name: string;
1409
+ /**
1410
+ * ID of parent space if this is a child space.
1411
+ */
1412
+ parent_id: number | null;
1413
+ /**
1414
+ * Unique UUID identifier for the discussion.
1415
+ */
1416
+ uuid: string;
1417
+ parent_uuid: string | null;
1418
+ };
1419
+ type Breadcrumb = {
1420
+ /**
1421
+ * Breadcrumb ID
1422
+ */
1423
+ id: number;
1424
+ /**
1425
+ * Name of the breadcrumb
1426
+ */
1427
+ name: string;
1428
+ /**
1429
+ * ID of parent space if this is a child space.
1430
+ */
1431
+ parent_id: number | null;
1432
+ /**
1433
+ * Disable frontend editor (legacy typo field). Deprecated: use disable_fe_editor instead of disble_fe_editor.
1434
+ */
1435
+ disble_fe_editor: boolean;
1436
+ /**
1437
+ * Disable frontend editor
1438
+ */
1439
+ disable_fe_editor: boolean;
1440
+ /**
1441
+ * Path of the breadcrumb
1442
+ */
1443
+ path: string | null;
1444
+ /**
1445
+ * URL-friendly identifier for the app category.
1446
+ */
1447
+ slug: string;
1448
+ /**
1449
+ * List of translated slugs for the breadcrumb
1450
+ */
1451
+ translated_slugs: Array<TranslatedSlug>;
1452
+ };
1453
+ /**
1454
+ * A user who has been granted access to a space
1455
+ */
1456
+ type Collaborator = {
1457
+ /**
1458
+ * The unique identifier of the collaborator
1459
+ */
1460
+ id: number;
1461
+ /**
1462
+ * The user ID associated with this collaborator
1463
+ */
1464
+ user_id?: number | null;
1465
+ /**
1466
+ * The space ID this collaborator belongs to
1467
+ */
1468
+ space_id: number;
1469
+ /**
1470
+ * The role of the collaborator
1471
+ */
1472
+ role: string;
1473
+ /**
1474
+ * List of permissions
1475
+ */
1476
+ permissions: Array<string>;
1477
+ /**
1478
+ * Allowed content path
1479
+ */
1480
+ allowed_path?: string | null;
1481
+ /**
1482
+ * Field-level permissions (can be array or empty string)
1483
+ */
1484
+ field_permissions: Array<string> | string;
1485
+ /**
1486
+ * Associated space role ID
1487
+ */
1488
+ space_role_id?: number | null;
1489
+ /**
1490
+ * List of associated space role IDs
1491
+ */
1492
+ space_role_ids: Array<number>;
1493
+ /**
1494
+ * Whether the collaborator can act as admin
1495
+ */
1496
+ can_act_as_admin?: boolean;
1497
+ /**
1498
+ * User information
1499
+ */
1500
+ user?: {
1501
+ id?: number;
1502
+ avatar?: string | null;
1503
+ firstname?: string | null;
1504
+ lastname?: string | null;
1505
+ alt_email?: string | null;
1506
+ real_email?: string | null;
1507
+ disabled?: boolean;
1508
+ userid?: string;
1509
+ friendly_name?: string;
1510
+ } | null;
1511
+ /**
1512
+ * Invitation information if user hasn't joined yet
1513
+ */
1514
+ invitation?: {
1515
+ email?: string;
1516
+ expires_at?: string | null;
1517
+ is_expired?: boolean;
1518
+ rid?: string;
1519
+ } | null;
1520
+ };
1521
+ type Component = {
1522
+ /**
1523
+ * Unique identifier for the component
1524
+ */
1525
+ readonly id: number;
1526
+ /**
1527
+ * Technical name of the component.
1528
+ */
1529
+ name: string;
1530
+ /**
1531
+ * Human-readable display name
1532
+ */
1533
+ display_name?: string | null;
1534
+ /**
1535
+ * Component description
1536
+ */
1537
+ description?: string | null;
1538
+ /**
1539
+ * Creation timestamp (format is ISO 8601 standard in UTC).
1540
+ */
1541
+ readonly created_at: string;
1542
+ /**
1543
+ * Latest update timestamp (format is ISO 8601 standard in UTC).
1544
+ */
1545
+ updated_at: string;
1546
+ /**
1547
+ * Component field schema definition
1548
+ */
1549
+ schema: {
1550
+ [key: string]: {
1551
+ type?: 'bloks' | 'text' | 'textarea' | 'richtext' | 'markdown' | 'number' | 'datetime' | 'boolean' | 'options' | 'option' | 'asset' | 'multiasset' | 'multilink' | 'table' | 'section' | 'commerce' | 'custom' | 'image' | 'file' | 'tab' | 'link' | 'group';
1552
+ /**
1553
+ * Field ID
1554
+ */
1555
+ id?: string;
1556
+ [key: string]: unknown | 'bloks' | 'text' | 'textarea' | 'richtext' | 'markdown' | 'number' | 'datetime' | 'boolean' | 'options' | 'option' | 'asset' | 'multiasset' | 'multilink' | 'table' | 'section' | 'commerce' | 'custom' | 'image' | 'file' | 'tab' | 'link' | 'group' | string | undefined;
1557
+ };
1558
+ };
1559
+ /**
1560
+ * Component image URL
1561
+ */
1562
+ image?: string | null;
1563
+ /**
1564
+ * Field used for preview.
1565
+ */
1566
+ preview_field?: string | null;
1567
+ /**
1568
+ * Whether this component can be used as a root component.
1569
+ */
1570
+ is_root: boolean;
1571
+ /**
1572
+ * Preview template HTML.
1573
+ */
1574
+ preview_tmpl?: string | null;
1575
+ /**
1576
+ * Whether this component can be nested inside other components.
1577
+ */
1578
+ is_nestable: boolean;
1579
+ /**
1580
+ * All presets associated with this component.
1581
+ */
1582
+ all_presets?: Array<{
1583
+ /**
1584
+ * Preset ID
1585
+ */
1586
+ id?: number;
1587
+ /**
1588
+ * Preset name
1589
+ */
1590
+ name?: string;
1591
+ /**
1592
+ * Preset schema
1593
+ */
1594
+ preset?: {
1595
+ [key: string]: unknown;
1596
+ };
1597
+ /**
1598
+ * ID of the component this preset belongs to
1599
+ */
1600
+ component_id?: number;
1601
+ /**
1602
+ * Image URL for the preset preview
1603
+ */
1604
+ image?: string | null;
1605
+ /**
1606
+ * Icon name for the preset
1607
+ */
1608
+ icon?: string | null;
1609
+ /**
1610
+ * Color for the preset display
1611
+ */
1612
+ color?: string | null;
1613
+ /**
1614
+ * Description of the preset
1615
+ */
1616
+ description?: string | null;
1617
+ }>;
1618
+ /**
1619
+ * Default preset ID.
1620
+ */
1621
+ preset_id?: number | null;
1622
+ /**
1623
+ * Display name if available, otherwise technical name.
1624
+ */
1625
+ real_name?: string;
1626
+ /**
1627
+ * UUID of the component group this component belongs to.
1628
+ */
1629
+ component_group_uuid?: string | null;
1630
+ /**
1631
+ * Component color for UI display
1632
+ */
1633
+ color?: string | null;
1634
+ /**
1635
+ * Component icon name
1636
+ */
1637
+ icon?: string | null;
1638
+ internal_tags_list?: Array<{
1639
+ /**
1640
+ * ID
1641
+ */
1642
+ id?: number;
1643
+ /**
1644
+ * Name
1645
+ */
1646
+ name?: string;
1647
+ }>;
1648
+ /**
1649
+ * List of internal tag IDs
1650
+ */
1651
+ internal_tag_ids?: Array<string>;
1652
+ /**
1653
+ * Content Type Asset preview.
1654
+ */
1655
+ content_type_asset_preview?: string | null;
1656
+ /**
1657
+ * Component metadata.
1658
+ */
1659
+ metadata?: {
1660
+ [key: string]: unknown;
1661
+ } | null;
1662
+ };
1663
+ /**
1664
+ * Logical grouping of components for organizational purposes
1665
+ */
1666
+ type ComponentGroup = {
1667
+ /**
1668
+ * Unique ID.
1669
+ */
1670
+ id: number;
1671
+ /**
1672
+ * The name of the component group.
1673
+ */
1674
+ name: string;
1675
+ /**
1676
+ * Unique UUID identifier for the discussion.
1677
+ */
1678
+ uuid: string;
1679
+ /**
1680
+ * ID of parent space if this is a child space.
1681
+ */
1682
+ parent_id: number | null;
1683
+ /**
1684
+ * The UUID of the parent component group
1685
+ */
1686
+ parent_uuid: string | null;
1687
+ };
1688
+ type ComponentVersion = {
1689
+ /**
1690
+ * Component field schema definition at this version
1691
+ */
1692
+ schema: {
1693
+ [key: string]: {
1694
+ type?: 'bloks' | 'text' | 'textarea' | 'richtext' | 'markdown' | 'number' | 'datetime' | 'boolean' | 'options' | 'option' | 'asset' | 'multiasset' | 'multilink' | 'table' | 'section' | 'commerce' | 'custom' | 'image' | 'file' | 'tab' | 'link' | 'group';
1695
+ /**
1696
+ * Field ID
1697
+ */
1698
+ id?: string;
1699
+ [key: string]: unknown | 'bloks' | 'text' | 'textarea' | 'richtext' | 'markdown' | 'number' | 'datetime' | 'boolean' | 'options' | 'option' | 'asset' | 'multiasset' | 'multilink' | 'table' | 'section' | 'commerce' | 'custom' | 'image' | 'file' | 'tab' | 'link' | 'group' | string | undefined;
1700
+ };
1701
+ };
1702
+ };
1703
+ /**
1704
+ * A named collection of key-value entries used for structured content options
1705
+ */
1706
+ type Datasource = {
1707
+ /**
1708
+ * ID.
1709
+ */
1710
+ id: number;
1711
+ /**
1712
+ * Name.
1713
+ */
1714
+ name: string;
1715
+ /**
1716
+ * URL-friendly identifier for the app category.
1717
+ */
1718
+ slug: string;
1719
+ /**
1720
+ * Dimensions of the datasource.
1721
+ */
1722
+ dimensions: Array<Dimension>;
1723
+ /**
1724
+ * Creation timestamp (format is ISO 8601 standard in UTC).
1725
+ */
1726
+ created_at?: string;
1727
+ /**
1728
+ * Latest update timestamp (format is ISO 8601 standard in UTC).
1729
+ */
1730
+ updated_at?: string;
1731
+ };
1732
+ /**
1733
+ * A single key-value entry within a datasource
1734
+ */
1735
+ type DatasourceEntry = {
1736
+ /**
1737
+ * ID.
1738
+ */
1739
+ id: number;
1740
+ /**
1741
+ * Name.
1742
+ */
1743
+ name: string;
1744
+ /**
1745
+ * Given value in default dimension
1746
+ */
1747
+ value: string;
1748
+ /**
1749
+ * Given value in the requested dimension.
1750
+ */
1751
+ dimension_value: string | null;
1752
+ };
1753
+ type Experiment = {
1754
+ /**
1755
+ * Numeric ID of the experiment
1756
+ */
1757
+ readonly id: number;
1758
+ /**
1759
+ * Internal name (lowercase, numbers, underscores).
1760
+ */
1761
+ name: string;
1762
+ /**
1763
+ * Human-readable display name
1764
+ */
1765
+ display_name: string;
1766
+ /**
1767
+ * Optional description of the experiment
1768
+ */
1769
+ description?: string | null;
1770
+ /**
1771
+ * Current status of the experiment
1772
+ */
1773
+ status: 'draft' | 'running' | 'paused' | 'completed';
1774
+ /**
1775
+ * Timestamp when the experiment was first activated.
1776
+ */
1777
+ started_at?: string | null;
1778
+ /**
1779
+ * Timestamp when the experiment was completed.
1780
+ */
1781
+ ended_at?: string | null;
1782
+ /**
1783
+ * Creation timestamp (format is ISO 8601 standard in UTC).
1784
+ */
1785
+ readonly created_at: string;
1786
+ /**
1787
+ * Latest update timestamp (format is ISO 8601 standard in UTC).
1788
+ */
1789
+ updated_at: string;
1790
+ /**
1791
+ * IDs of stories assigned to this experiment
1792
+ */
1793
+ story_ids: Array<number>;
1794
+ /**
1795
+ * ID of the winning variant (set when experiment is completed with a winner).
1796
+ */
1797
+ winning_variant_id?: number | null;
1798
+ };
1799
+ type ExperimentAssignedMetric = {
1800
+ /**
1801
+ * ID of the linked metric definition.
1802
+ */
1803
+ metric_definition_id: number;
1804
+ /**
1805
+ * Role of this metric in the experiment
1806
+ */
1807
+ role: 'primary' | 'secondary' | 'guardrail';
1808
+ /**
1809
+ * Numeric representation of the story's position in the folder.
1810
+ */
1811
+ position: number;
1812
+ metric_definition?: ExperimentMetricDefinition;
1813
+ };
1814
+ /**
1815
+ * Bar chart with variant comparison data
1816
+ */
1817
+ type ExperimentBarChart = {
1818
+ /**
1819
+ * Chart type discriminator
1820
+ */
1821
+ kind: 'bar';
1822
+ /**
1823
+ * User's job title or role.
1824
+ */
1825
+ title?: string | null;
1826
+ /**
1827
+ * Optional label for the x-axis
1828
+ */
1829
+ xLabel?: string | null;
1830
+ /**
1831
+ * Optional label for the y-axis
1832
+ */
1833
+ yLabel?: string | null;
1834
+ /**
1835
+ * Category labels (one per bar group)
1836
+ */
1837
+ labels: Array<string>;
1838
+ /**
1839
+ * Data series, one per dataset
1840
+ */
1841
+ series: Array<{
1842
+ /**
1843
+ * Series label
1844
+ */
1845
+ label: string;
1846
+ /**
1847
+ * Numeric data points aligned with labels
1848
+ */
1849
+ data: Array<number>;
1850
+ }>;
1851
+ };
1852
+ /**
1853
+ * Detailed experiment representation including variant configuration and metrics
1854
+ */
1855
+ type ExperimentDetail = Experiment & {
1856
+ /**
1857
+ * Variants belonging to this experiment
1858
+ */
1859
+ experiment_variants: Array<ExperimentVariant>;
1860
+ /**
1861
+ * Metrics assigned to this experiment
1862
+ */
1863
+ experiment_assigned_metrics?: Array<ExperimentAssignedMetric>;
1864
+ };
1865
+ /**
1866
+ * Line chart for time-series data
1867
+ */
1868
+ type ExperimentLineChart = {
1869
+ /**
1870
+ * Chart type discriminator
1871
+ */
1872
+ kind: 'line';
1873
+ /**
1874
+ * User's job title or role.
1875
+ */
1876
+ title?: string | null;
1877
+ /**
1878
+ * Optional label for the x-axis
1879
+ */
1880
+ xLabel?: string | null;
1881
+ /**
1882
+ * Optional label for the y-axis
1883
+ */
1884
+ yLabel?: string | null;
1885
+ /**
1886
+ * X-axis labels (e.g. dates)
1887
+ */
1888
+ labels: Array<string>;
1889
+ /**
1890
+ * Data series, one per variant or dataset
1891
+ */
1892
+ series: Array<{
1893
+ /**
1894
+ * Series label
1895
+ */
1896
+ label: string;
1897
+ /**
1898
+ * Numeric data points aligned with labels
1899
+ */
1900
+ data: Array<number>;
1901
+ }>;
1902
+ };
1903
+ type ExperimentMetricDefinition = {
1904
+ /**
1905
+ * Numeric ID of the metric definition.
1906
+ */
1907
+ id: number;
1908
+ /**
1909
+ * Name of the metric definition.
1910
+ */
1911
+ name: string;
1912
+ /**
1913
+ * Optional description of the metric
1914
+ */
1915
+ description?: string | null;
1916
+ /**
1917
+ * Event name that this metric tracks.
1918
+ */
1919
+ event_name: string;
1920
+ /**
1921
+ * Type of metric calculation.
1922
+ */
1923
+ metric_type: 'proportion' | 'mean';
1924
+ /**
1925
+ * Whether lower values are better (e.g., bounce rate).
1926
+ */
1927
+ inverse: boolean;
1928
+ /**
1929
+ * Unit of measurement for mean metrics.
1930
+ */
1931
+ unit?: string | null;
1932
+ /**
1933
+ * Creation timestamp (format is ISO 8601 standard in UTC).
1934
+ */
1935
+ created_at: string;
1936
+ /**
1937
+ * Latest update timestamp (format is ISO 8601 standard in UTC).
1938
+ */
1939
+ updated_at: string;
1940
+ };
1941
+ type ExperimentResult = {
1942
+ /**
1943
+ * Numeric ID of the experiment result
1944
+ */
1945
+ id: number;
1946
+ /**
1947
+ * ID of the experiment this result belongs to
1948
+ */
1949
+ experiment_id: number;
1950
+ /**
1951
+ * Array of pre-computed chart snapshots. Each chart is one of: BarChart, LineChart, or TextChart.
1952
+ */
1953
+ charts: Array<ExperimentBarChart | ExperimentLineChart | ExperimentTextChart>;
1954
+ /**
1955
+ * Timestamp of the most recent push
1956
+ */
1957
+ pushed_at: string;
1958
+ /**
1959
+ * Creation timestamp (format is ISO 8601 standard in UTC).
1960
+ */
1961
+ created_at: string;
1962
+ /**
1963
+ * Latest update timestamp (format is ISO 8601 standard in UTC).
1964
+ */
1965
+ updated_at: string;
1966
+ };
1967
+ /**
1968
+ * Text-only block for insights or summary copy
1969
+ */
1970
+ type ExperimentTextChart = {
1971
+ /**
1972
+ * Chart type discriminator
1973
+ */
1974
+ kind: 'text';
1975
+ /**
1976
+ * User's job title or role.
1977
+ */
1978
+ title?: string | null;
1979
+ /**
1980
+ * Insight text content
1981
+ */
1982
+ body: string;
1983
+ };
1984
+ type ExperimentVariant = {
1985
+ /**
1986
+ * Numeric ID of the variant.
1987
+ */
1988
+ id: number;
1989
+ /**
1990
+ * Internal name (lowercase, numbers, underscores).
1991
+ */
1992
+ name: string;
1993
+ /**
1994
+ * Human-readable display name
1995
+ */
1996
+ display_name: string;
1997
+ /**
1998
+ * Public identifier for the variant.
1999
+ */
2000
+ public_id: string;
2001
+ /**
2002
+ * Traffic weight percentage (0-100).
2003
+ */
2004
+ weight: number;
2005
+ /**
2006
+ * Whether this is the control variant.
2007
+ */
2008
+ is_control: boolean;
2009
+ /**
2010
+ * Story-level variant mappings (original story to variant story).
2011
+ */
2012
+ story_mappings: Array<{
2013
+ experiment_variant_id?: number;
2014
+ original_story_id?: number;
2015
+ variant_story_id?: number;
2016
+ original_slug?: string | null;
2017
+ variant_slug?: string | null;
2018
+ /**
2019
+ * The variant story object
2020
+ */
2021
+ variant_story?: {
2022
+ [key: string]: unknown;
2023
+ } | null;
2024
+ }>;
2025
+ };
2026
+ type InternalTag = {
2027
+ /**
2028
+ * Unique ID
2029
+ */
2030
+ id: number;
2031
+ /**
2032
+ * The name of the internal tag
2033
+ */
2034
+ name: string;
2035
+ /**
2036
+ * The type of object this tag is associated with
2037
+ */
2038
+ object_type: 'asset' | 'component' | 'idea';
2039
+ /**
2040
+ * Count of assets associated with this tag (only present when with_assets_count parameter is used)
2041
+ */
2042
+ assets_count?: number | null;
2043
+ };
2044
+ type Space = {
2045
+ /**
2046
+ * The unique identifier of the space
2047
+ */
2048
+ readonly id: number;
2049
+ /**
2050
+ * The name of the space.
2051
+ */
2052
+ name: string;
2053
+ /**
2054
+ * External unique identifier
2055
+ */
2056
+ euid?: string | null;
2057
+ /**
2058
+ * The region where the space is hosted
2059
+ */
2060
+ region: string;
2061
+ /**
2062
+ * The ID of the space owner
2063
+ */
2064
+ owner_id: number;
2065
+ /**
2066
+ * Latest update timestamp (format is ISO 8601 standard in UTC).
2067
+ */
2068
+ updated_at: string;
2069
+ /**
2070
+ * Creation timestamp (format is ISO 8601 standard in UTC).
2071
+ */
2072
+ readonly created_at: string;
2073
+ /**
2074
+ * The subscription plan name
2075
+ */
2076
+ plan: string;
2077
+ /**
2078
+ * The plan level identifier
2079
+ */
2080
+ plan_level: number;
2081
+ /**
2082
+ * Number of pending traffic boosts
2083
+ */
2084
+ pending_traffic_boosts?: number | null;
2085
+ /**
2086
+ * Number of pending limit boosts
2087
+ */
2088
+ pending_limit_boosts?: number | null;
2089
+ /**
2090
+ * Whether the space is on a trial plan
2091
+ */
2092
+ trial: boolean;
2093
+ /**
2094
+ * Whether two-factor authentication is required
2095
+ */
2096
+ requires_2fa: boolean;
2097
+ /**
2098
+ * The organization ID if space belongs to an organization
2099
+ */
2100
+ org_id?: number | null;
2101
+ /**
2102
+ * The partner ID if space is associated with a partner
2103
+ */
2104
+ partner_id?: number | null;
2105
+ /**
2106
+ * The subscription status
2107
+ */
2108
+ subscription_status?: string | null;
2109
+ /**
2110
+ * Stripe trial status
2111
+ */
2112
+ stripe_trial_status?: string | null;
2113
+ /**
2114
+ * Stripe trial end date
2115
+ */
2116
+ stripe_trial_end?: string | null;
2117
+ /**
2118
+ * The type of space (e.g., personal, team)
2119
+ */
2120
+ space_type?: string | null;
2121
+ /**
2122
+ * The timestamp when the space was canceled
2123
+ */
2124
+ canceled_at?: string | null;
2125
+ /**
2126
+ * Whether the organization requires 2FA.
2127
+ */
2128
+ org_requires_2fa: boolean;
2129
+ /**
2130
+ * The timestamp when the space became unpaid
2131
+ */
2132
+ unpaid_at?: string | null;
2133
+ /**
2134
+ * The timestamp when the space was blocked
2135
+ */
2136
+ blocked_at?: string | null;
2137
+ /**
2138
+ * Whether the space is in development mode
2139
+ */
2140
+ development_mode: boolean;
2141
+ /**
2142
+ * Flags indicating which feature limits have been exceeded
2143
+ */
2144
+ feature_limit_exceeded_flags: {
2145
+ [key: string]: boolean | null;
2146
+ };
2147
+ /**
2148
+ * The status of the organization.
2149
+ */
2150
+ org_status?: string | null;
2151
+ /**
2152
+ * Available roles in the space
2153
+ */
2154
+ space_roles?: Array<SpaceRole>;
2155
+ /**
2156
+ * Whether the space is on a Joyride trial
2157
+ */
2158
+ joyride_trial?: boolean;
2159
+ /**
2160
+ * When the Joyride trial expires
2161
+ */
2162
+ joyride_trial_expires_at?: string | null;
2163
+ /**
2164
+ * When the Joyride trial started
2165
+ */
2166
+ joyride_trial_started_at?: string | null;
2167
+ /**
2168
+ * Whether the Joyride trial traffic limit has been exceeded.
2169
+ */
2170
+ joyride_traffic_limit_exceeded?: boolean;
2171
+ [key: string]: unknown | number | string | string | null | number | null | number | null | boolean | number | null | number | null | string | null | string | null | string | null | string | null | string | null | string | null | string | null | {
2172
+ [key: string]: boolean | null;
2173
+ } | string | null | Array<SpaceRole> | string | null | string | null | undefined;
2174
+ };
2175
+ type SpaceDetail = {
2176
+ /**
2177
+ * The unique identifier of the space.
2178
+ */
2179
+ id: number;
2180
+ /**
2181
+ * The name of the space.
2182
+ */
2183
+ name: string;
2184
+ /**
2185
+ * The domain associated with the space
2186
+ */
2187
+ domain?: string | null;
2188
+ /**
2189
+ * Unique domain for the space.
2190
+ */
2191
+ uniq_domain?: string | null;
2192
+ /**
2193
+ * Unique subdomain for the space.
2194
+ */
2195
+ uniq_subdomain?: string | null;
2196
+ /**
2197
+ * The subscription plan name
2198
+ */
2199
+ plan: string;
2200
+ /**
2201
+ * The plan level identifier
2202
+ */
2203
+ plan_level: number;
2204
+ /**
2205
+ * Plan limits and restrictions
2206
+ */
2207
+ limits: {
2208
+ [key: string]: unknown;
2209
+ };
2210
+ /**
2211
+ * Creation timestamp (format is ISO 8601 standard in UTC).
2212
+ */
2213
+ created_at: string;
2214
+ /**
2215
+ * The current user's role in the space
2216
+ */
2217
+ role: string;
2218
+ /**
2219
+ * The ID of the space owner
2220
+ */
2221
+ owner_id?: number | null;
2222
+ /**
2223
+ * Webhook URL for story published events.
2224
+ */
2225
+ story_published_hook?: string | null;
2226
+ /**
2227
+ * List of environments configured for the space.
2228
+ */
2229
+ environments: Array<{
2230
+ name?: string;
2231
+ location?: string;
2232
+ }>;
2233
+ /**
2234
+ * Number of stories in the space.
2235
+ */
2236
+ stories_count: number;
2237
+ /**
2238
+ * Number of assets in the space
2239
+ */
2240
+ assets_count: number;
2241
+ /**
2242
+ * ID of parent space if this is a child space.
2243
+ */
2244
+ parent_id?: number | null;
2245
+ /**
2246
+ * Searchblok integration ID.
2247
+ */
2248
+ searchblok_id?: string | null;
2249
+ /**
2250
+ * Whether the space can be duplicated.
2251
+ */
2252
+ duplicatable?: boolean | null;
2253
+ /**
2254
+ * API requests made today.
2255
+ */
2256
+ request_count_today: number;
2257
+ /**
2258
+ * Total API requests this month.
2259
+ */
2260
+ api_requests: number;
2261
+ /**
2262
+ * Number of exceeded API requests.
2263
+ */
2264
+ exceeded_requests: number;
2265
+ /**
2266
+ * Billing address information
2267
+ */
2268
+ billing_address?: {
2269
+ company?: string;
2270
+ name?: string;
2271
+ email?: string;
2272
+ address_line1?: string;
2273
+ address_city?: string;
2274
+ address_zip?: string;
2275
+ address_country?: string;
2276
+ tax_number?: string;
2277
+ } | null;
2278
+ /**
2279
+ * Custom routes configuration.
2280
+ */
2281
+ routes?: Array<{
2282
+ pattern?: string;
2283
+ template?: string;
2284
+ }>;
2285
+ /**
2286
+ * External unique identifier
2287
+ */
2288
+ euid?: string | null;
2289
+ /**
2290
+ * Whether the space is on a trial plan
2291
+ */
2292
+ trial: boolean;
2293
+ /**
2294
+ * Default root component type
2295
+ */
2296
+ default_root: string;
2297
+ /**
2298
+ * Whether Slack webhook is configured.
2299
+ */
2300
+ has_slack_webhook: boolean;
2301
+ /**
2302
+ * First private API token.
2303
+ */
2304
+ first_token: string;
2305
+ /**
2306
+ * Monthly traffic limit
2307
+ */
2308
+ traffic_limit: number;
2309
+ /**
2310
+ * Whether AI text generation is disabled
2311
+ */
2312
+ ai_text_generator_disabled: boolean;
2313
+ /**
2314
+ * Whether AI text generation feature is disabled
2315
+ */
2316
+ ai_text_generator_feature_disabled: boolean;
2317
+ /**
2318
+ * AI tokens used this month.
2319
+ */
2320
+ monthly_ai_tokens_traffic: number;
2321
+ /**
2322
+ * Monthly AI tokens limit.
2323
+ */
2324
+ monthly_ai_tokens_traffic_limit: number;
2325
+ /**
2326
+ * Monthly AI credits limit.
2327
+ */
2328
+ monthly_ai_credits_traffic?: number;
2329
+ /**
2330
+ * Whether there are pending background tasks.
2331
+ */
2332
+ has_pending_tasks: boolean;
2333
+ /**
2334
+ * Various space options and settings
2335
+ */
2336
+ options: {
2337
+ [key: string]: unknown;
2338
+ };
2339
+ /**
2340
+ * Whether assistance mode is enabled.
2341
+ */
2342
+ assistance_mode: boolean;
2343
+ /**
2344
+ * Whether the onboarding tour is disabled.
2345
+ */
2346
+ onboarding_tour_disabled?: boolean;
2347
+ /**
2348
+ * Web crawling configuration
2349
+ */
2350
+ crawl_config?: {
2351
+ base_url?: string;
2352
+ enabled?: boolean;
2353
+ } | null;
2354
+ /**
2355
+ * Space owner information
2356
+ */
2357
+ owner?: {
2358
+ id?: number;
2359
+ userid?: string;
2360
+ real_email?: string;
2361
+ friendly_name?: string;
2362
+ avatar?: string | null;
2363
+ disabled?: boolean;
2364
+ } | null;
2365
+ /**
2366
+ * Organization information if space belongs to an org
2367
+ */
2368
+ org?: {
2369
+ name?: string;
2370
+ ai_text_generator_disabled_in_org?: boolean;
2371
+ custom_upload_limit_in_mb?: number | null;
2372
+ } | null;
2373
+ /**
2374
+ * Default AI translation language code; en when unset.
2375
+ */
2376
+ default_ai_lang_code?: string;
2377
+ /**
2378
+ * Configured languages for internationalization.
2379
+ */
2380
+ languages: Array<{
2381
+ code?: string;
2382
+ name?: string;
2383
+ ai_translation_code?: string | null;
2384
+ }>;
2385
+ /**
2386
+ * Space settings from associated settings records
2387
+ */
2388
+ settings?: Array<{
2389
+ [key: string]: unknown;
2390
+ }>;
2391
+ /**
2392
+ * Available roles in the space
2393
+ */
2394
+ space_roles: Array<SpaceRole>;
2395
+ /**
2396
+ * Space collaborators.
2397
+ */
2398
+ collaborators: Array<Collaborator>;
2399
+ /**
2400
+ * The region where the space is hosted
2401
+ */
2402
+ region: string;
2403
+ /**
2404
+ * Number of pending traffic boosts
2405
+ */
2406
+ pending_traffic_boosts?: number | null;
2407
+ /**
2408
+ * Number of pending limit boosts
2409
+ */
2410
+ pending_limit_boosts?: number | null;
2411
+ /**
2412
+ * The subscription status
2413
+ */
2414
+ subscription_status?: string | null;
2415
+ /**
2416
+ * Flags indicating which feature limits have been exceeded
2417
+ */
2418
+ feature_limit_exceeded_flags: {
2419
+ [key: string]: boolean | null;
2420
+ };
2421
+ /**
2422
+ * Dimensions app folder IDs.
2423
+ */
2424
+ dimensions_app_folder_ids?: Array<number> | null;
2425
+ /**
2426
+ * Dimension app folder configurations with full metadata.
2427
+ */
2428
+ dimensions_app_folders?: Array<{
2429
+ /**
2430
+ * The ID of the linked folder
2431
+ */
2432
+ folder_id: number;
2433
+ /**
2434
+ * The AI translation code for this folder
2435
+ */
2436
+ ai_translation_code: string | null;
2437
+ }> | null;
2438
+ /**
2439
+ * Whether AI translation is enabled for the dimensions app.
2440
+ */
2441
+ enable_dimensions_app_ai_translation?: boolean | null;
2442
+ /**
2443
+ * Whether the space is on a Joyride trial
2444
+ */
2445
+ joyride_trial?: boolean;
2446
+ /**
2447
+ * When the Joyride trial expires
2448
+ */
2449
+ joyride_trial_expires_at?: string | null;
2450
+ /**
2451
+ * When the Joyride trial started
2452
+ */
2453
+ joyride_trial_started_at?: string | null;
2454
+ /**
2455
+ * Whether the space is allowed to use custom AI styles
2456
+ */
2457
+ allow_space_ai_styles?: boolean | null;
2458
+ /**
2459
+ * AWS IAM role ARN for custom S3 asset storage access.
2460
+ */
2461
+ asset_aws_role?: string | null;
2462
+ /**
2463
+ * Custom CDN URL for serving assets.
2464
+ */
2465
+ asset_cdn?: string | null;
2466
+ /**
2467
+ * Schema definition for custom asset metadata fields.
2468
+ */
2469
+ asset_custom_meta_data_schema?: Array<{
2470
+ [key: string]: unknown;
2471
+ }> | {
2472
+ [key: string]: unknown;
2473
+ } | null;
2474
+ /**
2475
+ * AWS region for the asset S3 bucket.
2476
+ */
2477
+ asset_region?: string | null;
2478
+ /**
2479
+ * CloudFront signed cookies for private asset access.
2480
+ */
2481
+ asset_signature?: {
2482
+ [key: string]: unknown;
2483
+ } | null;
2484
+ /**
2485
+ * Days after which old story versions are automatically deleted.
2486
+ */
2487
+ auto_delete_old_versions_after_days?: number | null;
2488
+ /**
2489
+ * AWS ARN for custom S3 asset bucket integration.
2490
+ */
2491
+ aws_arn?: string | null;
2492
+ /**
2493
+ * Scheduled backup frequency (daily or weekly).
2494
+ */
2495
+ backup_frequency?: string | null;
2496
+ /**
2497
+ * Time of day for scheduled backups.
2498
+ */
2499
+ backup_time?: string | null;
2500
+ /**
2501
+ * Day of the week for weekly scheduled backups.
2502
+ */
2503
+ backup_week_day?: string | null;
2504
+ /**
2505
+ * Backend version identifier for the space.
2506
+ */
2507
+ be_version?: string | null;
2508
+ /**
2509
+ * Whether the space is blocked from usage.
2510
+ */
2511
+ blocked?: boolean | null;
2512
+ /**
2513
+ * Timestamp when the space was blocked
2514
+ */
2515
+ blocked_at?: string | null;
2516
+ /**
2517
+ * Reference identifier for the blueprint this space was created from
2518
+ */
2519
+ blueprint_reference?: string | null;
2520
+ /**
2521
+ * Webhook URL called when a branch is deployed.
2522
+ */
2523
+ branch_deployed_hook?: string | null;
2524
+ /**
2525
+ * Timestamp when the subscription was canceled
2526
+ */
2527
+ canceled_at?: string | null;
2528
+ /**
2529
+ * Cloudinary API key for image transformation integration.
2530
+ */
2531
+ cloudinary_api_key?: string | null;
2532
+ /**
2533
+ * Cloudinary cloud name for image transformation integration.
2534
+ */
2535
+ cloudinary_cloud_name?: string | null;
2536
+ /**
2537
+ * Custom S3 bucket name for asset storage.
2538
+ */
2539
+ custom_s3_asset_bucket?: string | null;
2540
+ /**
2541
+ * Custom maximum file upload size in megabytes
2542
+ */
2543
+ custom_upload_limit_in_mb?: number | null;
2544
+ /**
2545
+ * External unique identifier (euid) for the space customer.
2546
+ */
2547
+ customer_id?: string | null;
2548
+ /**
2549
+ * Webhook URL called when a datasource entry is saved.
2550
+ */
2551
+ datasource_entry_saved_hook?: string | null;
2552
+ /**
2553
+ * Display name for the default language of the space.
2554
+ */
2555
+ default_lang_name?: string | null;
2556
+ /**
2557
+ * Whether the space is in development mode
2558
+ */
2559
+ development_mode?: boolean | null;
2560
+ /**
2561
+ * IDs of disclaimers accepted for this space
2562
+ */
2563
+ disclaimer_ids?: Array<number>;
2564
+ /**
2565
+ * ID of the space this space was duplicated from.
2566
+ */
2567
+ duplicated_from?: number | null;
2568
+ /**
2569
+ * Whether extended character sets are allowed in story slugs.
2570
+ */
2571
+ enable_extended_char_set_in_stories_slug?: boolean | null;
2572
+ /**
2573
+ * Whether preview URLs should be encoded.
2574
+ */
2575
+ encode_preview_urls?: boolean | null;
2576
+ /**
2577
+ * Feature limits and their current values for the space
2578
+ */
2579
+ feature_limits?: Array<{
2580
+ [key: string]: unknown;
2581
+ }> | null;
2582
+ /**
2583
+ * Whether hosted backup is enabled.
2584
+ */
2585
+ hosted_backup?: boolean | null;
2586
+ /**
2587
+ * Whether the space inherits AI configuration from its organization.
2588
+ */
2589
+ inherit_org_ai_configuration?: boolean | null;
2590
+ /**
2591
+ * Whether the space is a demo space.
2592
+ */
2593
+ is_demo?: boolean;
2594
+ /**
2595
+ * Maintenance mode status for the space.
2596
+ */
2597
+ maintenance?: string | null;
2598
+ /**
2599
+ * Viewport width in pixels for mobile preview in the visual editor.
2600
+ */
2601
+ mobile_size?: string | null;
2602
+ /**
2603
+ * Whether the space is on a no-credit-card community plan.
2604
+ */
2605
+ no_cc_community?: boolean;
2606
+ /**
2607
+ * Current onboarding step for the space.
2608
+ */
2609
+ onboarding_step?: string | null;
2610
+ /**
2611
+ * ID of the partner organization associated with the space
2612
+ */
2613
+ partner_id?: number | null;
2614
+ /**
2615
+ * Personal S3 bucket name for asset storage.
2616
+ */
2617
+ personal_s3_asset_bucket?: string | null;
2618
+ /**
2619
+ * Whether assets are served privately via signed URLs.
2620
+ */
2621
+ private_assets?: boolean | null;
2622
+ /**
2623
+ * Token used for private asset image service authentication.
2624
+ */
2625
+ private_assets_token?: string | null;
2626
+ /**
2627
+ * Whether resolved links default to their published version.
2628
+ */
2629
+ published_is_links_default?: boolean | null;
2630
+ /**
2631
+ * Webhook URL called when a release is merged.
2632
+ */
2633
+ release_merged_hook?: string | null;
2634
+ /**
2635
+ * URL of the connected source code repository
2636
+ */
2637
+ repository_url?: string | null;
2638
+ /**
2639
+ * Required asset metadata fields.
2640
+ */
2641
+ required_assest_fields?: Array<string> | string | null;
2642
+ /**
2643
+ * Whether revenue sharing is enabled.
2644
+ */
2645
+ rev_share_enabled?: boolean | null;
2646
+ /**
2647
+ * S3 bucket identifier for asset storage.
2648
+ */
2649
+ s3_bucket?: string | null;
2650
+ /**
2651
+ * Configuration for showing alternative story versions.
2652
+ */
2653
+ show_stories_alternative_versions?: boolean | string | null;
2654
+ /**
2655
+ * Billing interval for the space subscription.
2656
+ */
2657
+ space_subscription_interval?: string | null;
2658
+ /**
2659
+ * Type classification of the space
2660
+ */
2661
+ space_type?: string | null;
2662
+ /**
2663
+ * Webhook URL called when a workflow stage changes.
2664
+ */
2665
+ stage_changed_hook?: string | null;
2666
+ /**
2667
+ * Webhook URL called when a story is saved.
2668
+ */
2669
+ story_saved_hook?: string | null;
2670
+ /**
2671
+ * ISO 8601 timestamp when the trial period ends
2672
+ */
2673
+ stripe_trial_end?: string | null;
2674
+ /**
2675
+ * Status of the Stripe trial
2676
+ */
2677
+ stripe_trial_status?: string | null;
2678
+ /**
2679
+ * Whether strong authentication (2FA) is required
2680
+ */
2681
+ strong_auth?: boolean | null;
2682
+ /**
2683
+ * Viewport width in pixels for tablet preview in the visual editor.
2684
+ */
2685
+ tablet_size?: string | null;
2686
+ /**
2687
+ * Whether usage statistics tracking is enabled
2688
+ */
2689
+ track_statistics?: boolean | string | null;
2690
+ /**
2691
+ * Configuration for which asset fields are translatable.
2692
+ */
2693
+ translatable_asset_fields?: Array<string> | string | null;
2694
+ /**
2695
+ * Whether the space UI is blocked for the user.
2696
+ */
2697
+ ui_blocked?: boolean | null;
2698
+ /**
2699
+ * Timestamp when the space subscription became unpaid
2700
+ */
2701
+ unpaid_at?: string | null;
2702
+ /**
2703
+ * Whether translated stories feature is enabled.
2704
+ */
2705
+ use_translated_stories?: boolean | null;
2706
+ /**
2707
+ * Whether the space is verified as trusted.
2708
+ */
2709
+ verified?: boolean | null;
2710
+ /**
2711
+ * Whether the visual editor is disabled (0 or 1 as string).
2712
+ */
2713
+ visual_mode_disable?: string | null;
2714
+ /**
2715
+ * Secret token included in webhook requests for verification.
2716
+ */
2717
+ webhook_token?: string | null;
2718
+ /**
2719
+ * Maximum yearly AI credits allowed, inherited from organization
2720
+ */
2721
+ yearly_ai_credits_limit?: number | null;
2722
+ /**
2723
+ * Number of yearly AI credits consumed, inherited from organization
2724
+ */
2725
+ yearly_ai_credits_used?: number | null;
2726
+ [key: string]: unknown | number | string | string | null | string | null | string | null | {
2727
+ [key: string]: unknown;
2728
+ } | number | null | string | null | Array<{
2729
+ name?: string;
2730
+ location?: string;
2731
+ }> | number | null | string | null | boolean | null | {
2732
+ company?: string;
2733
+ name?: string;
2734
+ email?: string;
2735
+ address_line1?: string;
2736
+ address_city?: string;
2737
+ address_zip?: string;
2738
+ address_country?: string;
2739
+ tax_number?: string;
2740
+ } | null | Array<{
2741
+ pattern?: string;
2742
+ template?: string;
2743
+ }> | string | null | boolean | {
2744
+ [key: string]: unknown;
2745
+ } | {
2746
+ base_url?: string;
2747
+ enabled?: boolean;
2748
+ } | null | {
2749
+ id?: number;
2750
+ userid?: string;
2751
+ real_email?: string;
2752
+ friendly_name?: string;
2753
+ avatar?: string | null;
2754
+ disabled?: boolean;
2755
+ } | null | {
2756
+ name?: string;
2757
+ ai_text_generator_disabled_in_org?: boolean;
2758
+ custom_upload_limit_in_mb?: number | null;
2759
+ } | null | Array<{
2760
+ code?: string;
2761
+ name?: string;
2762
+ ai_translation_code?: string | null;
2763
+ }> | Array<{
2764
+ [key: string]: unknown;
2765
+ }> | Array<SpaceRole> | Array<Collaborator> | number | null | number | null | string | null | {
2766
+ [key: string]: boolean | null;
2767
+ } | Array<number> | null | Array<{
2768
+ /**
2769
+ * The ID of the linked folder
2770
+ */
2771
+ folder_id: number;
2772
+ /**
2773
+ * The AI translation code for this folder
2774
+ */
2775
+ ai_translation_code: string | null;
2776
+ }> | null | boolean | null | string | null | string | null | boolean | null | string | null | string | null | Array<{
2777
+ [key: string]: unknown;
2778
+ }> | {
2779
+ [key: string]: unknown;
2780
+ } | null | string | null | {
2781
+ [key: string]: unknown;
2782
+ } | null | number | null | string | null | string | null | string | null | string | null | string | null | boolean | null | string | null | string | null | string | null | string | null | string | null | string | null | string | null | number | null | string | null | string | null | string | null | boolean | null | Array<number> | number | null | boolean | null | boolean | null | Array<{
2783
+ [key: string]: unknown;
2784
+ }> | null | boolean | null | boolean | null | string | null | string | null | string | null | number | null | string | null | boolean | null | string | null | boolean | null | string | null | string | null | Array<string> | string | null | boolean | null | string | null | boolean | string | null | string | null | string | null | string | null | string | null | string | null | string | null | boolean | null | string | null | boolean | string | null | Array<string> | string | null | boolean | null | string | null | boolean | null | boolean | null | string | null | string | null | number | null | number | null | undefined;
2785
+ };
2786
+ /**
2787
+ * Custom role definition controlling permissions within a space
2788
+ */
2789
+ type SpaceRole = {
2790
+ /**
2791
+ * The unique identifier of the space role.
2792
+ */
2793
+ id: number;
2794
+ /**
2795
+ * The role name
2796
+ */
2797
+ role: string;
2798
+ /**
2799
+ * Optional subtitle for the role.
2800
+ */
2801
+ subtitle?: string | null;
2802
+ /**
2803
+ * External ID for integrations
2804
+ */
2805
+ ext_id?: string | null;
2806
+ /**
2807
+ * List of permissions
2808
+ */
2809
+ permissions: Array<string>;
2810
+ /**
2811
+ * Allowed content paths.
2812
+ */
2813
+ allowed_paths: Array<string>;
2814
+ /**
2815
+ * Resolved allowed paths with slugs.
2816
+ */
2817
+ resolved_allowed_paths: Array<string>;
2818
+ /**
2819
+ * Blocked content paths.
2820
+ */
2821
+ blocked_paths: Array<string>;
2822
+ /**
2823
+ * Resolved blocked paths with slugs.
2824
+ */
2825
+ resolved_blocked_paths: Array<string> | null;
2826
+ /**
2827
+ * Field-level permissions
2828
+ */
2829
+ field_permissions: Array<string>;
2830
+ /**
2831
+ * Allowed field permissions.
2832
+ */
2833
+ allowed_field_permissions: Array<string>;
2834
+ /**
2835
+ * Read-only field permissions.
2836
+ */
2837
+ readonly_field_permissions: Array<string>;
2838
+ /**
2839
+ * Allowed datasource IDs.
2840
+ */
2841
+ datasource_ids: Array<number>;
2842
+ /**
2843
+ * Blocked datasource IDs.
2844
+ */
2845
+ blocked_datasource_ids: Array<number>;
2846
+ /**
2847
+ * Blocked component IDs for usage.
2848
+ */
2849
+ component_ids: Array<number>;
2850
+ /**
2851
+ * Allowed component IDs for usage.
2852
+ */
2853
+ allowed_component_ids: Array<number>;
2854
+ /**
2855
+ * Managed component IDs.
2856
+ */
2857
+ managed_component_ids: Array<number>;
2858
+ /**
2859
+ * Blocked manage component IDs.
2860
+ */
2861
+ blocked_manage_component_ids: Array<number>;
2862
+ /**
2863
+ * Managed component group UUIDs.
2864
+ */
2865
+ managed_component_group_uuids: Array<string>;
2866
+ /**
2867
+ * Blocked manage component group UUIDs.
2868
+ */
2869
+ blocked_manage_component_group_uuids: Array<string>;
2870
+ /**
2871
+ * Allowed component group UUIDs for usage.
2872
+ */
2873
+ component_group_uuids: Array<string>;
2874
+ /**
2875
+ * Blocked component group UUIDs for usage.
2876
+ */
2877
+ blocked_component_group_uuids: Array<string>;
2878
+ /**
2879
+ * Allowed branch IDs.
2880
+ */
2881
+ branch_ids: Array<number>;
2882
+ /**
2883
+ * Blocked branch IDs.
2884
+ */
2885
+ blocked_branch_ids: Array<number>;
2886
+ /**
2887
+ * Allowed language codes.
2888
+ */
2889
+ allowed_languages: Array<string>;
2890
+ /**
2891
+ * Blocked language codes.
2892
+ */
2893
+ blocked_languages: Array<string>;
2894
+ /**
2895
+ * Allowed asset folder IDs.
2896
+ */
2897
+ asset_folder_ids: Array<number>;
2898
+ /**
2899
+ * Blocked asset folder IDs.
2900
+ */
2901
+ blocked_asset_folder_ids: Array<number>;
2902
+ };
2903
+ type Stories = {
2904
+ name: string;
2905
+ /**
2906
+ * ID of parent space if this is a child space.
2907
+ */
2908
+ parent_id: number;
2909
+ /**
2910
+ * Creation timestamp (format is ISO 8601 standard in UTC).
2911
+ */
2912
+ created_at: string;
2913
+ deleted_at: string | null;
2914
+ group_id: string;
2915
+ sort_by_date: string | null;
2916
+ /**
2917
+ * Latest update timestamp (format is ISO 8601 standard in UTC).
2918
+ */
2919
+ updated_at: string;
2920
+ /**
2921
+ * Latest publication timestamp (format is ISO 8601 standard in UTC).
2922
+ */
2923
+ published_at: string | null;
2924
+ id: number;
2925
+ /**
2926
+ * Unique UUID identifier for the discussion.
2927
+ */
2928
+ uuid: string;
2929
+ /**
2930
+ * true if the instance constitutes a folder.
2931
+ */
2932
+ is_folder: boolean;
2933
+ published: boolean;
2934
+ /**
2935
+ * URL-friendly identifier for the app category.
2936
+ */
2937
+ slug: string;
2938
+ path: string | null;
2939
+ full_slug: string;
2940
+ /**
2941
+ * Numeric representation of the story's position in the folder.
2942
+ */
2943
+ position: number;
2944
+ unpublished_changes: boolean | null;
2945
+ /**
2946
+ * true if the story is defined as the startpage for its parent folder.
2947
+ */
2948
+ is_startpage: boolean;
2949
+ pinned: boolean;
2950
+ publish_at: string | null;
2951
+ expire_at: string | null;
2952
+ first_published_at: string | null;
2953
+ /**
2954
+ * List of release IDs this story belongs to
2955
+ */
2956
+ release_ids: Array<number>;
2957
+ /**
2958
+ * Current version ID, current version in release or main
2959
+ */
2960
+ current_version_id: number | null;
2961
+ /**
2962
+ * Base version ID(common ancestor) for the story, used for three-way merge operations)
2963
+ */
2964
+ base_version_id?: number | null;
2965
+ /**
2966
+ * Main version ID, current version in main
2967
+ */
2968
+ main_version_id?: number | null;
2969
+ /**
2970
+ * Workflow stage information for the story
2971
+ */
2972
+ stage: Stage | null;
2973
+ /**
2974
+ * Alternate language variants.
2975
+ */
2976
+ alternates: Array<Alternate>;
2977
+ /**
2978
+ * The default root
2979
+ */
2980
+ default_root: string | null;
2981
+ disble_fe_editor: boolean;
2982
+ disable_fe_editor: boolean;
2983
+ last_author: {
2984
+ userid: string;
2985
+ friendly_name: string;
2986
+ avatar: string;
2987
+ } | null;
2988
+ last_author_id: number | null;
2989
+ /**
2990
+ * Summary of story content. Returns {} when with_summary param is not set.
2991
+ */
2992
+ content_summary: {
2993
+ [key: string]: unknown;
2994
+ } | null;
2995
+ /**
2996
+ * The content type.
2997
+ */
2998
+ content_type: string;
2999
+ tag_list: Array<string>;
3000
+ can_not_view: boolean | null;
3001
+ /**
3002
+ * List of translated versions of this story (only included when with_translated_stories=1)
3003
+ */
3004
+ translated_stories?: Array<TranslatedStory>;
3005
+ /**
3006
+ * List of user IDs who have marked this story as favorite
3007
+ */
3008
+ favourite_for_user_ids: Array<number>;
3009
+ scheduled_dates: string | null;
3010
+ };
3011
+ type Story = {
3012
+ name: string;
3013
+ /**
3014
+ * ID of parent space if this is a child space.
3015
+ */
3016
+ parent_id: number | null;
3017
+ group_id: string;
3018
+ alternates: Array<Alternate>;
3019
+ /**
3020
+ * Creation timestamp (format is ISO 8601 standard in UTC).
3021
+ */
3022
+ readonly created_at: string;
3023
+ deleted_at: string | null;
3024
+ sort_by_date: string | null;
3025
+ tag_list: Array<string>;
3026
+ /**
3027
+ * Latest update timestamp (format is ISO 8601 standard in UTC).
3028
+ */
3029
+ updated_at: string;
3030
+ /**
3031
+ * Latest publication timestamp (format is ISO 8601 standard in UTC).
3032
+ */
3033
+ published_at: string | null;
3034
+ readonly id: number;
3035
+ /**
3036
+ * Unique UUID identifier for the discussion.
3037
+ */
3038
+ readonly uuid: string;
3039
+ /**
3040
+ * true if the instance constitutes a folder.
3041
+ */
3042
+ is_folder: boolean;
3043
+ /**
3044
+ * Dynamic component data rendered by Storyblok, structure varies by component
3045
+ */
3046
+ content: {
3047
+ _uid?: string;
3048
+ component?: string;
3049
+ [key: string]: unknown | string | undefined;
3050
+ };
3051
+ published: boolean | null;
3052
+ /**
3053
+ * URL-friendly identifier for the app category.
3054
+ */
3055
+ slug: string;
3056
+ path: string | null;
3057
+ full_slug: string;
3058
+ /**
3059
+ * The default root
3060
+ */
3061
+ default_root: string | null;
3062
+ disble_fe_editor: boolean;
3063
+ disable_fe_editor: boolean;
3064
+ /**
3065
+ * Parent story object (for nested stories).
3066
+ */
3067
+ parent: {
3068
+ id?: number;
3069
+ uuid?: string;
3070
+ name?: string;
3071
+ slug?: string;
3072
+ disble_fe_editor?: boolean;
3073
+ } | null;
3074
+ /**
3075
+ * true if the story is defined as the startpage for its parent folder.
3076
+ */
3077
+ is_startpage: boolean;
3078
+ unpublished_changes: boolean | null;
3079
+ /**
3080
+ * Custom metadata for the story
3081
+ */
3082
+ meta_data: {
3083
+ [key: string]: unknown;
3084
+ } | null;
3085
+ /**
3086
+ * Base version ID(common ancestor) for the story, used for three-way merge operations)
3087
+ */
3088
+ base_version_id?: number | null;
3089
+ /**
3090
+ * Main version ID, current version in main
3091
+ */
3092
+ main_version_id?: number | null;
3093
+ /**
3094
+ * Current version ID, current version in release or main
3095
+ */
3096
+ current_version_id?: number | null;
3097
+ imported_at: string | null;
3098
+ /**
3099
+ * Preview token for the story.
3100
+ */
3101
+ preview_token: {
3102
+ token: string;
3103
+ timestamp: string;
3104
+ };
3105
+ pinned: boolean;
3106
+ /**
3107
+ * List of breadcrumbs for the story.
3108
+ */
3109
+ breadcrumbs: Array<Breadcrumb>;
3110
+ publish_at: string | null;
3111
+ expire_at: string | null;
3112
+ first_published_at: string | null;
3113
+ last_author: {
3114
+ id?: number;
3115
+ userid: string;
3116
+ friendly_name: string;
3117
+ avatar?: string;
3118
+ } | null;
3119
+ last_author_id: number | null;
3120
+ /**
3121
+ * List of user IDs this story belongs to (read-only, set automatically via workflow or workflow stage changes)
3122
+ */
3123
+ user_ids: Array<number>;
3124
+ /**
3125
+ * Space role IDs (read-only, set automatically via workflow or workflow stage changes)
3126
+ */
3127
+ space_role_ids: Array<number>;
3128
+ /**
3129
+ * List of translated slugs for the story
3130
+ */
3131
+ translated_slugs: Array<TranslatedSlug>;
3132
+ /**
3133
+ * List of translated versions of this story
3134
+ */
3135
+ translated_stories: Array<{
3136
+ /**
3137
+ * First published time for this translation
3138
+ */
3139
+ first_published_at: string;
3140
+ /**
3141
+ * published time
3142
+ */
3143
+ published_at: string;
3144
+ /**
3145
+ * Language code for this translation
3146
+ */
3147
+ lang: string;
3148
+ /**
3149
+ * Whether this translation has unpublished changes
3150
+ */
3151
+ unpublished_changes: boolean;
3152
+ }>;
3153
+ /**
3154
+ * List of localized paths for the story.
3155
+ */
3156
+ localized_paths: Array<LocalizedPath>;
3157
+ /**
3158
+ * Numeric representation of the story's position in the folder.
3159
+ */
3160
+ position: number;
3161
+ can_not_view: boolean | null;
3162
+ is_scheduled: boolean | null;
3163
+ scheduled_dates: string | null;
3164
+ /**
3165
+ * List of ideas associated with this story.
3166
+ */
3167
+ ideas: Array<{
3168
+ /**
3169
+ * Idea ID
3170
+ */
3171
+ id: string;
3172
+ /**
3173
+ * Idea name
3174
+ */
3175
+ name: string;
3176
+ /**
3177
+ * Author ID
3178
+ */
3179
+ author_id: number;
3180
+ /**
3181
+ * Whether idea is private
3182
+ */
3183
+ is_private: boolean;
3184
+ }>;
3185
+ /**
3186
+ * Workflow stage information (only included when show_stage is true)
3187
+ */
3188
+ stage?: Stage | null;
3189
+ /**
3190
+ * List of user IDs
3191
+ */
3192
+ favourite_for_user_ids: Array<number>;
3193
+ /**
3194
+ * Variant type (null for regular stories, 'experiment' for A/B test variants).
3195
+ */
3196
+ variant_type?: string | null;
3197
+ /**
3198
+ * IDs of experiments this story participates in (only included on show, not index).
3199
+ */
3200
+ experiment_ids?: Array<number>;
3201
+ };
3202
+ type TranslatedSlug = {
3203
+ /**
3204
+ * id
3205
+ */
3206
+ id: number;
3207
+ /**
3208
+ * The name for this translated slug
3209
+ */
3210
+ name: string | null;
3211
+ /**
3212
+ * URL-friendly identifier for the app category.
3213
+ */
3214
+ slug: string;
3215
+ /**
3216
+ * The language code for this translation.
3217
+ */
3218
+ lang: string;
3219
+ published: boolean | null;
3220
+ };
3221
+ type TranslatedStory = {
3222
+ /**
3223
+ * The language code for this translation.
3224
+ */
3225
+ lang: string;
3226
+ /**
3227
+ * Latest publication timestamp (format is ISO 8601 standard in UTC).
3228
+ */
3229
+ published_at: string | null;
3230
+ /**
3231
+ * first published date
3232
+ */
3233
+ first_published_at: string | null;
3234
+ /**
3235
+ * Whether this translation has unpublished changes
3236
+ */
3237
+ unpublished_changes: boolean | null;
3238
+ };
3239
+ type User = {
3240
+ userid: string;
3241
+ email: string;
3242
+ organization?: string | null;
3243
+ /**
3244
+ * Username
3245
+ */
3246
+ username?: string | null;
3247
+ use_username: boolean;
3248
+ alt_email?: string | null;
3249
+ firstname?: string | null;
3250
+ lastname?: string | null;
3251
+ phone?: string | null;
3252
+ readonly id: number;
3253
+ login_strategy: 'otp_email' | 'otp_sms' | 'password' | 'twilio_totp';
3254
+ /**
3255
+ * Creation timestamp (format is ISO 8601 standard in UTC).
3256
+ */
3257
+ readonly created_at: string;
3258
+ /**
3259
+ * User's role in the organization. Null if user has no org.
3260
+ */
3261
+ org_role?: 'admin' | 'owner' | 'member' | null;
3262
+ has_org: boolean;
3263
+ has_partner: boolean;
3264
+ /**
3265
+ * Delegated from partner association. Null if user has no partner.
3266
+ */
3267
+ partner_status?: string | null;
3268
+ /**
3269
+ * Organization details. Returns empty object {} when user has no organization.
3270
+ */
3271
+ org: {
3272
+ id?: number;
3273
+ /**
3274
+ * Organization settings stored as JSONB. Contains keys like track_statistics, strong_auth, sso_servers_webhook, etc.
3275
+ */
3276
+ settings?: {
3277
+ [key: string]: unknown;
3278
+ };
3279
+ name?: string;
3280
+ status?: 'active' | 'disabled' | 'deactivated';
3281
+ };
3282
+ timezone?: string | null;
3283
+ avatar?: string | null;
3284
+ /**
3285
+ * Display name derived from firstname/lastname or email
3286
+ */
3287
+ friendly_name: string;
3288
+ notified: Array<string>;
3289
+ /**
3290
+ * The language code for this translation.
3291
+ */
3292
+ lang?: string | null;
3293
+ partner_role?: string | null;
3294
+ favourite_spaces: Array<number>;
3295
+ /**
3296
+ * Array of idea UUIDs marked as favourite.
3297
+ */
3298
+ favourite_ideas: Array<string>;
3299
+ /**
3300
+ * User's system role
3301
+ */
3302
+ role?: 'admin' | 'normal' | 'banned' | 'sso' | 'superuser' | 'devops' | 'marketer' | null;
3303
+ /**
3304
+ * Always returns true.
3305
+ */
3306
+ beta_user: boolean;
3307
+ /**
3308
+ * Defaults to true if not set
3309
+ */
3310
+ track_statistics: boolean;
3311
+ /**
3312
+ * User UI theme preferences. Defaults to {"theme": "default"} if not set.
3313
+ */
3314
+ ui_theme: {
3315
+ [key: string]: unknown;
3316
+ };
3317
+ is_editor?: boolean | null;
3318
+ /**
3319
+ * Whether the user authenticates via SSO.
3320
+ */
3321
+ sso?: boolean | null;
3322
+ job_role?: string | null;
3323
+ job_title?: string | null;
3324
+ /**
3325
+ * Whether user has verified TOTP 2FA.
3326
+ */
3327
+ totp_factor_verified: boolean;
3328
+ /**
3329
+ * Available 2FA methods for this user. Always includes otp_email; otp_sms if phone set; twilio_totp if TOTP configured.
3330
+ */
3331
+ configured_2fa_options: Array<'otp_email' | 'otp_sms' | 'twilio_totp'>;
3332
+ disclaimer_ids: Array<number>;
3333
+ company_name?: string | null;
3334
+ live_chat_enabled: boolean;
3335
+ /**
3336
+ * True if user confirmed email or uses SSO
3337
+ */
3338
+ confirmed: boolean;
3339
+ };
3340
+ type Version = {
3341
+ id: number;
3342
+ event: string;
3343
+ /**
3344
+ * Creation timestamp (format is ISO 8601 standard in UTC).
3345
+ */
3346
+ created_at: string;
3347
+ author_id: number | null;
3348
+ author?: string;
3349
+ item_id: number;
3350
+ is_draft: boolean;
3351
+ };
3352
+ type Asset = {
3353
+ /**
3354
+ * Alt text for the asset (default language).
3355
+ */
3356
+ alt: string | null;
3357
+ /**
3358
+ * Id of the folder containing this asset.
3359
+ */
3360
+ asset_folder_id: number | null;
3361
+ /**
3362
+ * The content length in bytes.
3363
+ */
3364
+ content_length: number | null;
3365
+ /**
3366
+ * The content type.
3367
+ */
3368
+ content_type: string | null;
3369
+ /**
3370
+ * Copyright text.
3371
+ */
3372
+ copyright: string | null;
3373
+ /**
3374
+ * Creation timestamp (format is ISO 8601 standard in UTC).
3375
+ */
3376
+ readonly created_at: string | null;
3377
+ /**
3378
+ * Latest update timestamp (format is ISO 8601 standard in UTC).
3379
+ */
3380
+ readonly updated_at: string | null;
3381
+ expire_at: string | null;
3382
+ /**
3383
+ * Full path of the asset, including the file name.
3384
+ */
3385
+ filename: string;
3386
+ /**
3387
+ * Focus point.
3388
+ */
3389
+ focus: string | null;
3390
+ /**
3391
+ * Defines if the asset should be inaccessible to the public.
3392
+ */
3393
+ is_private: boolean;
3394
+ /**
3395
+ * The signed URL for the asset.
3396
+ */
3397
+ signed_url?: string | null;
3398
+ /**
3399
+ * User's job title or role.
3400
+ */
3401
+ title: string | null;
3402
+ [key: string]: unknown | string | null | number | null | number | null | string | null | string | null | string | null | string | null | string | null | string | string | null | boolean | string | null | string | null | undefined;
3403
+ };
3404
+ type ListAssetFoldersData = {
3405
+ body?: never;
3406
+ path: {
3407
+ /**
3408
+ * ID
3409
+ */
3410
+ space_id: number;
3411
+ };
3412
+ query?: {
3413
+ /**
3414
+ * Search term
3415
+ */
3416
+ search?: string;
3417
+ /**
3418
+ * Filter by parent ID.
3419
+ */
3420
+ with_parent?: string;
3421
+ /**
3422
+ * Retrieve specific stories by providing their UUIDs as a comma-separated string.
3423
+ */
3424
+ by_uuids?: string;
3425
+ /**
3426
+ * Filter by comma-separated IDs.
3427
+ */
3428
+ by_ids?: string;
3429
+ };
3430
+ url: '/v1/spaces/{space_id}/asset_folders';
3431
+ };
3432
+ type CreateAssetFolderData = {
3433
+ body: {
3434
+ asset_folder: {
3435
+ name: string;
3436
+ parent_id?: number | null;
3437
+ };
3438
+ };
3439
+ path: {
3440
+ /**
3441
+ * ID
3442
+ */
3443
+ space_id: number;
3444
+ };
3445
+ query?: never;
3446
+ url: '/v1/spaces/{space_id}/asset_folders';
3447
+ };
3448
+ type DeleteAssetFolderData = {
3449
+ body?: never;
3450
+ path: {
3451
+ /**
3452
+ * ID
3453
+ */
3454
+ space_id: number;
3455
+ /**
3456
+ * Asset Folder ID
3457
+ */
3458
+ id: number;
3459
+ };
3460
+ query?: {
3461
+ /**
3462
+ * Delete recursively.
3463
+ */
3464
+ recursive?: boolean;
3465
+ };
3466
+ url: '/v1/spaces/{space_id}/asset_folders/{id}';
3467
+ };
3468
+ type UpdateAssetFolderData = {
3469
+ body: {
3470
+ asset_folder: {
3471
+ name?: string;
3472
+ parent_id?: number | null;
3473
+ };
3474
+ };
3475
+ path: {
3476
+ /**
3477
+ * ID
3478
+ */
3479
+ space_id: number;
3480
+ /**
3481
+ * Asset Folder ID
3482
+ */
3483
+ id: number;
3484
+ };
3485
+ query?: never;
3486
+ url: '/v1/spaces/{space_id}/asset_folders/{id}';
3487
+ };
3488
+ type ListAssetsData = {
3489
+ body?: never;
3490
+ path: {
3491
+ /**
3492
+ * ID
3493
+ */
3494
+ space_id: number;
3495
+ };
3496
+ query?: {
3497
+ /**
3498
+ * Provide the numeric id of a folder to filter the assets by a specific folder.
3499
+ */
3500
+ in_folder?: number;
3501
+ /**
3502
+ * Sort stories in ascending or descending order by a specific property. Possible properties are all default story properties and any custom fields defined in the schema of the story type.
3503
+ * Default story properties can be used like this:
3504
+ * - `sort_by=created_at:desc`
3505
+ * - `sort_by=slug:asc`
3506
+ *
3507
+ * Custom fields can be used like this:
3508
+ * - `sort_by=content.meta_description:asc`
3509
+ * - `sort_by=content.event_title:desc`
3510
+ *
3511
+ * By default, all custom fields are sorted as strings. To sort custom fields with numeric values, it needs to be specified whether they should be treated as float or integer. Examples:
3512
+ * - `sort_by=content.price:asc:float`
3513
+ * - `sort_by=content.event_number:asc:int`
3514
+ *
3515
+ * Different sorts can be chained using commas like this:
3516
+ * - `sort_by=name:desc,slug:asc`
3517
+ *
3518
+ * There is also a possibility to sort values keeping the null (or empty) ones first or last:
3519
+ * - `sort_by=path:desc:nulls_first`
3520
+ * - `sort_by=path:desc:nulls_last`
3521
+ *
3522
+ * `nulls_last` is the default behavior.
3523
+ */
3524
+ sort_by?: string;
3525
+ /**
3526
+ * If true it only displays private assets.
3527
+ */
3528
+ is_private?: boolean;
3529
+ /**
3530
+ * Search term
3531
+ */
3532
+ search?: string;
3533
+ /**
3534
+ * Filter by the alt text of an asset.
3535
+ */
3536
+ by_alt?: string;
3537
+ /**
3538
+ * Filter by the copyright of an asset.
3539
+ */
3540
+ by_copyright?: string;
3541
+ /**
3542
+ * Filter by the title of an asset.
3543
+ */
3544
+ by_title?: string;
3545
+ /**
3546
+ * Filter by ext_id of an asset.
3547
+ */
3548
+ ext_id?: string;
3549
+ /**
3550
+ * Filter by specific tag(s). Multiple tags can be provided as a comma-separated string (treated like an OR operator).
3551
+ */
3552
+ with_tags?: string;
3553
+ /**
3554
+ * Filter activities created on or after this date (inclusive).
3555
+ */
3556
+ created_at_gte?: string;
3557
+ /**
3558
+ * Filter activities created on or before this date (inclusive).
3559
+ */
3560
+ created_at_lte?: string;
3561
+ /**
3562
+ * Filter records updated at or after the specified date. Supports ISO 8601 (e.g. 2025-07-16T08:00:00Z) and yyyy-MM-dd HH:mm formats.
3563
+ */
3564
+ updated_at_gte?: string;
3565
+ /**
3566
+ * Filter records updated at or before the specified date. Supports ISO 8601 (e.g. 2025-07-16T08:00:00Z) and yyyy-MM-dd HH:mm formats.
3567
+ */
3568
+ updated_at_lte?: string;
3569
+ /**
3570
+ * Filter by >= expire date.
3571
+ */
3572
+ expire_at_gte?: string;
3573
+ /**
3574
+ * Filter by < expired date.
3575
+ */
3576
+ expire_at_lte?: string;
3577
+ /**
3578
+ * Number of items per page.
3579
+ */
3580
+ per_page?: number;
3581
+ /**
3582
+ * The paginated page number.
3583
+ */
3584
+ page?: number;
3585
+ };
3586
+ url: '/v1/spaces/{space_id}/assets';
3587
+ };
3588
+ type ListAssetsResponses = {
3589
+ /**
3590
+ * Assets returned.
3591
+ */
3592
+ 200: {
3593
+ assets: Array<IndexAsset>;
3594
+ };
3595
+ };
3596
+ type CreateAssetData = {
3597
+ body?: never;
3598
+ path: {
3599
+ /**
3600
+ * ID
3601
+ */
3602
+ space_id: number;
3603
+ };
3604
+ query: {
3605
+ /**
3606
+ * Full path of the asset, including the file name.
3607
+ */
3608
+ filename: string;
3609
+ /**
3610
+ * Filter by ext_id of an asset.
3611
+ */
3612
+ ext_id?: string;
3613
+ /**
3614
+ * Alt text.
3615
+ */
3616
+ alt?: string;
3617
+ /**
3618
+ * Copyright information.
3619
+ */
3620
+ copyright?: string;
3621
+ /**
3622
+ * Title or caption.
3623
+ */
3624
+ title?: string;
3625
+ /**
3626
+ * Source of the asset.
3627
+ */
3628
+ source?: string;
3629
+ /**
3630
+ * Expiration date.
3631
+ */
3632
+ expire_at?: string;
3633
+ /**
3634
+ * internal_tag_ids.
3635
+ */
3636
+ internal_tag_ids?: Array<number>;
3637
+ /**
3638
+ * Focal point.
3639
+ */
3640
+ focus?: string;
3641
+ /**
3642
+ * If true it only displays private assets.
3643
+ */
3644
+ is_private?: boolean;
3645
+ /**
3646
+ * Publish date.
3647
+ */
3648
+ publish_at?: string;
3649
+ /**
3650
+ * meta_data.
3651
+ */
3652
+ meta_data?: {
3653
+ [key: string]: unknown;
3654
+ };
3655
+ /**
3656
+ * Target asset folder ID.
3657
+ */
3658
+ asset_folder_id?: number;
3659
+ /**
3660
+ * Validate Upload.
3661
+ */
3662
+ validate_upload?: boolean;
3663
+ /**
3664
+ * Size of the asset.
3665
+ */
3666
+ size?: string;
3667
+ };
3668
+ url: '/v1/spaces/{space_id}/assets';
3669
+ };
3670
+ type UpdateAssetData = {
3671
+ body: AssetUpdateRequest;
3672
+ path: {
3673
+ /**
3674
+ * Numeric ID of the space to include in the token payload.
3675
+ */
3676
+ space_id: number;
3677
+ /**
3678
+ * Asset ID.
3679
+ */
3680
+ id: number;
3681
+ };
3682
+ query?: never;
3683
+ url: '/v1/spaces/{space_id}/assets/{id}';
3684
+ };
3685
+ type BulkDestroyAssetsData = {
3686
+ body: {
3687
+ /**
3688
+ * Array of asset IDs to delete (maximum 100)
3689
+ */
3690
+ ids: Array<number>;
3691
+ };
3692
+ path: {
3693
+ /**
3694
+ * Numeric ID of a space
3695
+ */
3696
+ space_id: number;
3697
+ };
3698
+ query?: never;
3699
+ url: '/v1/spaces/{space_id}/assets/bulk_destroy';
3700
+ };
3701
+ type BulkRestoreAssetsData = {
3702
+ body: {
3703
+ /**
3704
+ * Array of deleted asset IDs to restore (maximum 100)
3705
+ */
3706
+ ids: Array<number>;
3707
+ };
3708
+ path: {
3709
+ /**
3710
+ * Numeric ID of a space
3711
+ */
3712
+ space_id: number;
3713
+ };
3714
+ query?: never;
3715
+ url: '/v1/spaces/{space_id}/assets/bulk_restore';
3716
+ };
3717
+ type BulkUpdateAssetsData = {
3718
+ body: {
3719
+ /**
3720
+ * Array of asset IDs to move (maximum 100)
3721
+ */
3722
+ ids: Array<number>;
3723
+ asset: {
3724
+ /**
3725
+ * ID of the target asset folder
3726
+ */
3727
+ asset_folder_id: number;
3728
+ };
3729
+ };
3730
+ path: {
3731
+ /**
3732
+ * Numeric ID of a space
3733
+ */
3734
+ space_id: number;
3735
+ };
3736
+ query?: never;
3737
+ url: '/v1/spaces/{space_id}/assets/bulk_update';
3738
+ };
3739
+ type ListComponentGroupsData = {
3740
+ body?: never;
3741
+ path: {
3742
+ /**
3743
+ * Space ID
3744
+ */
3745
+ space_id: number;
3746
+ };
3747
+ query?: {
3748
+ /**
3749
+ * Search term
3750
+ */
3751
+ search?: string;
3752
+ /**
3753
+ * Filter by parent ID.
3754
+ */
3755
+ with_parent?: number;
3756
+ };
3757
+ url: '/v1/spaces/{space_id}/component_groups';
3758
+ };
3759
+ type CreateComponentGroupData = {
3760
+ body: ComponentGroupRequest;
3761
+ path: {
3762
+ /**
3763
+ * Space ID
3764
+ */
3765
+ space_id: number;
3766
+ };
3767
+ query?: never;
3768
+ url: '/v1/spaces/{space_id}/component_groups';
3769
+ };
3770
+ type UpdateComponentGroupData = {
3771
+ body: ComponentGroupRequest;
3772
+ path: {
3773
+ /**
3774
+ * Space ID
3775
+ */
3776
+ space_id: number;
3777
+ /**
3778
+ * Component Group ID
3779
+ */
3780
+ id: number;
3781
+ };
3782
+ query?: never;
3783
+ url: '/v1/spaces/{space_id}/component_groups/{id}';
3784
+ };
3785
+ type GetComponentVersionData = {
3786
+ body?: never;
3787
+ path: {
3788
+ /**
3789
+ * Space ID
3790
+ */
3791
+ space_id: number;
3792
+ /**
3793
+ * Component ID
3794
+ */
3795
+ component_id: number;
3796
+ /**
3797
+ * Component version ID
3798
+ */
3799
+ id: number;
3800
+ };
3801
+ query?: never;
3802
+ url: '/v1/spaces/{space_id}/components/{component_id}/component_versions/{id}';
3803
+ };
3804
+ type GetComponentVersionResponses = {
3805
+ /**
3806
+ * Component version found.
3807
+ */
3808
+ 200: {
3809
+ component_version: ComponentVersion;
3810
+ };
3811
+ };
3812
+ type ListManagementComponentsData = {
3813
+ body?: never;
3814
+ path: {
3815
+ /**
3816
+ * ID
3817
+ */
3818
+ space_id: number;
3819
+ };
3820
+ query?: {
3821
+ /**
3822
+ * Filter components by component group UUID.
3823
+ */
3824
+ in_group?: string;
3825
+ /**
3826
+ * Filter components by root component status.
3827
+ */
3828
+ is_root?: boolean;
3829
+ /**
3830
+ * Search term
3831
+ */
3832
+ search?: string;
3833
+ /**
3834
+ * Filter by comma-separated IDs.
3835
+ */
3836
+ by_ids?: string;
3837
+ /**
3838
+ * Filter by specific tag(s). Multiple tags can be provided as a comma-separated string (treated like an OR operator).
3839
+ */
3840
+ with_tags?: string;
3841
+ /**
3842
+ * Filter components by metadata app slug.
3843
+ */
3844
+ by_metadata_app_slug?: string;
3845
+ /**
3846
+ * Filter components by metadata frame ID.
3847
+ */
3848
+ by_metadata_frame_id?: string;
3849
+ /**
3850
+ * Sort stories in ascending or descending order by a specific property. Possible properties are all default story properties and any custom fields defined in the schema of the story type.
3851
+ * Default story properties can be used like this:
3852
+ * - `sort_by=created_at:desc`
3853
+ * - `sort_by=slug:asc`
3854
+ *
3855
+ * Custom fields can be used like this:
3856
+ * - `sort_by=content.meta_description:asc`
3857
+ * - `sort_by=content.event_title:desc`
3858
+ *
3859
+ * By default, all custom fields are sorted as strings. To sort custom fields with numeric values, it needs to be specified whether they should be treated as float or integer. Examples:
3860
+ * - `sort_by=content.price:asc:float`
3861
+ * - `sort_by=content.event_number:asc:int`
3862
+ *
3863
+ * Different sorts can be chained using commas like this:
3864
+ * - `sort_by=name:desc,slug:asc`
3865
+ *
3866
+ * There is also a possibility to sort values keeping the null (or empty) ones first or last:
3867
+ * - `sort_by=path:desc:nulls_first`
3868
+ * - `sort_by=path:desc:nulls_last`
3869
+ *
3870
+ * `nulls_last` is the default behavior.
3871
+ */
3872
+ sort_by?: string;
3873
+ };
3874
+ url: '/v1/spaces/{space_id}/components';
3875
+ };
3876
+ type ListManagementComponentsResponses = {
3877
+ /**
3878
+ * Components returned.
3879
+ */
3880
+ 200: {
3881
+ /**
3882
+ * Array of components
3883
+ */
3884
+ components: Array<Component>;
3885
+ /**
3886
+ * Array of component groups
3887
+ */
3888
+ component_groups: Array<{
3889
+ id: number;
3890
+ name: string;
3891
+ uuid: string;
3892
+ parent_id: number | null;
3893
+ parent_uuid: string | null;
3894
+ }>;
3895
+ };
3896
+ };
3897
+ type CreateComponentData = {
3898
+ body: ComponentCreateRequest;
3899
+ path: {
3900
+ /**
3901
+ * ID
3902
+ */
3903
+ space_id: number;
3904
+ };
3905
+ query?: never;
3906
+ url: '/v1/spaces/{space_id}/components';
3907
+ };
3908
+ type CreateComponentResponses = {
3909
+ /**
3910
+ * Component Created
3911
+ */
3912
+ 201: {
3913
+ component: Component;
3914
+ };
3915
+ };
3916
+ type DeleteComponentResponses = {
3917
+ /**
3918
+ * Component Deleted.
3919
+ */
3920
+ 200: {
3921
+ component: Component;
3922
+ };
3923
+ };
3924
+ type GetComponentResponses = {
3925
+ /**
3926
+ * Component found.
3927
+ */
3928
+ 200: {
3929
+ component: Component;
3930
+ };
3931
+ };
3932
+ type UpdateComponentData = {
3933
+ body: ComponentUpdateRequest;
3934
+ path: {
3935
+ /**
3936
+ * ID
3937
+ */
3938
+ space_id: number;
3939
+ /**
3940
+ * ID
3941
+ */
3942
+ id: string;
3943
+ };
3944
+ query?: {
3945
+ /**
3946
+ * If true, rename component references in existing stories.
3947
+ */
3948
+ update_content?: boolean;
3949
+ };
3950
+ url: '/v1/spaces/{space_id}/components/{id}';
3951
+ };
3952
+ type UpdateComponentResponses = {
3953
+ /**
3954
+ * Component Updated.
3955
+ */
3956
+ 200: {
3957
+ component: Component;
3958
+ };
3959
+ };
3960
+ type RestoreComponentResponses = {
3961
+ /**
3962
+ * Component Restored.
3963
+ */
3964
+ 200: {
3965
+ component: Component;
3966
+ };
3967
+ };
3968
+ type ListDatasourceEntriesData = {
3969
+ body?: never;
3970
+ path: {
3971
+ /**
3972
+ * Numeric ID of the space
3973
+ */
3974
+ space_id: number;
3975
+ };
3976
+ query?: {
3977
+ /**
3978
+ * Search term
3979
+ */
3980
+ search?: string;
3981
+ /**
3982
+ * Filter entries by datasource ID.
3983
+ */
3984
+ datasource_id?: number;
3985
+ /**
3986
+ * Filter entries by datasource slug.
3987
+ */
3988
+ datasource_slug?: string;
3989
+ /**
3990
+ * Include dimension values for the specified dimension ID.
3991
+ */
3992
+ dimension?: number;
3993
+ /**
3994
+ * Return entries as CSV format.
3995
+ */
3996
+ as_csv?: boolean;
3997
+ /**
3998
+ * The paginated page number.
3999
+ */
4000
+ page?: number;
4001
+ /**
4002
+ * Number of items per page.
4003
+ */
4004
+ per_page?: number;
4005
+ };
4006
+ url: '/v1/spaces/{space_id}/datasource_entries';
4007
+ };
4008
+ type CreateDatasourceEntryData = {
4009
+ body: CreateDatasourceEntryRequest;
4010
+ path: {
4011
+ /**
4012
+ * Numeric ID of the space
4013
+ */
4014
+ space_id: number;
4015
+ };
4016
+ query?: never;
4017
+ url: '/v1/spaces/{space_id}/datasource_entries';
4018
+ };
4019
+ type PartialUpdateDatasourceEntryData = {
4020
+ body: UpdateDatasourceEntryRequest;
4021
+ path: {
4022
+ /**
4023
+ * Numeric ID of the space
4024
+ */
4025
+ space_id: number;
4026
+ /**
4027
+ * Numeric ID of the datasource entry
4028
+ */
4029
+ id: number;
4030
+ };
4031
+ query?: never;
4032
+ url: '/v1/spaces/{space_id}/datasource_entries/{id}';
4033
+ };
4034
+ type ReplaceDatasourceEntryData = {
4035
+ body: UpdateDatasourceEntryRequest;
4036
+ path: {
4037
+ /**
4038
+ * Numeric ID of the space
4039
+ */
4040
+ space_id: number;
4041
+ /**
4042
+ * Numeric ID of the datasource entry
4043
+ */
4044
+ id: number;
4045
+ };
4046
+ query?: never;
4047
+ url: '/v1/spaces/{space_id}/datasource_entries/{id}';
4048
+ };
4049
+ type ListDatasourcesData = {
4050
+ body?: never;
4051
+ path: {
4052
+ /**
4053
+ * Numeric ID of the space
4054
+ */
4055
+ space_id: number;
4056
+ };
4057
+ query?: {
4058
+ /**
4059
+ * Search term
4060
+ */
4061
+ search?: string;
4062
+ /**
4063
+ * Filter by comma-separated IDs.
4064
+ */
4065
+ by_ids?: string;
4066
+ /**
4067
+ * Sort stories in ascending or descending order by a specific property. Possible properties are all default story properties and any custom fields defined in the schema of the story type.
4068
+ * Default story properties can be used like this:
4069
+ * - `sort_by=created_at:desc`
4070
+ * - `sort_by=slug:asc`
4071
+ *
4072
+ * Custom fields can be used like this:
4073
+ * - `sort_by=content.meta_description:asc`
4074
+ * - `sort_by=content.event_title:desc`
4075
+ *
4076
+ * By default, all custom fields are sorted as strings. To sort custom fields with numeric values, it needs to be specified whether they should be treated as float or integer. Examples:
4077
+ * - `sort_by=content.price:asc:float`
4078
+ * - `sort_by=content.event_number:asc:int`
4079
+ *
4080
+ * Different sorts can be chained using commas like this:
4081
+ * - `sort_by=name:desc,slug:asc`
4082
+ *
4083
+ * There is also a possibility to sort values keeping the null (or empty) ones first or last:
4084
+ * - `sort_by=path:desc:nulls_first`
4085
+ * - `sort_by=path:desc:nulls_last`
4086
+ *
4087
+ * `nulls_last` is the default behavior.
4088
+ */
4089
+ sort_by?: 'name:asc' | 'name:desc' | 'created_at:asc' | 'created_at:desc' | 'updated_at:asc' | 'updated_at:desc';
4090
+ /**
4091
+ * The paginated page number.
4092
+ */
4093
+ page?: number;
4094
+ /**
4095
+ * Number of items per page.
4096
+ */
4097
+ per_page?: number;
4098
+ };
4099
+ url: '/v1/spaces/{space_id}/datasources';
4100
+ };
4101
+ type CreateDatasourceData = {
4102
+ body: CreateDatasourceRequest;
4103
+ path: {
4104
+ /**
4105
+ * Numeric ID of the space
4106
+ */
4107
+ space_id: number;
4108
+ };
4109
+ query?: never;
4110
+ url: '/v1/spaces/{space_id}/datasources';
4111
+ };
4112
+ type PartialUpdateDatasourceData = {
4113
+ body: UpdateDatasourceRequest;
4114
+ path: {
4115
+ /**
4116
+ * Numeric ID of the space
4117
+ */
4118
+ space_id: number;
4119
+ /**
4120
+ * Numeric ID or slug of the datasource
4121
+ */
4122
+ id: string;
4123
+ };
4124
+ query?: never;
4125
+ url: '/v1/spaces/{space_id}/datasources/{id}';
4126
+ };
4127
+ type ReplaceDatasourceData = {
4128
+ body: UpdateDatasourceRequest;
4129
+ path: {
4130
+ /**
4131
+ * Numeric ID of the space
4132
+ */
4133
+ space_id: number;
4134
+ /**
4135
+ * Numeric ID or slug of the datasource
4136
+ */
4137
+ id: string;
4138
+ };
4139
+ query?: never;
4140
+ url: '/v1/spaces/{space_id}/datasources/{id}';
4141
+ };
4142
+ type GetExperimentResultsResponses = {
4143
+ /**
4144
+ * Results retrieved successfully
4145
+ */
4146
+ 200: {
4147
+ experiment_result: ExperimentResult;
4148
+ };
4149
+ /**
4150
+ * No results have been pushed yet
4151
+ */
4152
+ 204: void;
4153
+ };
4154
+ type PushExperimentResultsData = {
4155
+ body: PushExperimentResultsRequest;
4156
+ path: {
4157
+ /**
4158
+ * Numeric ID of the space
4159
+ */
4160
+ space_id: number;
4161
+ /**
4162
+ * Numeric ID of the experiment
4163
+ */
4164
+ experiment_id: number;
4165
+ };
4166
+ query?: never;
4167
+ url: '/v1/spaces/{space_id}/experiments/{experiment_id}/results';
4168
+ };
4169
+ type PushExperimentResultsResponses = {
4170
+ /**
4171
+ * Results pushed successfully
4172
+ */
4173
+ 200: {
4174
+ experiment_result: ExperimentResult;
4175
+ };
4176
+ };
4177
+ type CreateExperimentStoryData = {
4178
+ body: CreateExperimentStoryRequest;
4179
+ path: {
4180
+ /**
4181
+ * Numeric ID of the space
4182
+ */
4183
+ space_id: number;
4184
+ /**
4185
+ * Numeric ID of the experiment
4186
+ */
4187
+ experiment_id: number;
4188
+ };
4189
+ query?: never;
4190
+ url: '/v1/spaces/{space_id}/experiments/{experiment_id}/stories';
4191
+ };
4192
+ type CreateExperimentStoryResponses = {
4193
+ /**
4194
+ * Story linked to experiment successfully
4195
+ */
4196
+ 201: {
4197
+ experiment: ExperimentDetail;
4198
+ };
4199
+ };
4200
+ type DeleteExperimentStoryResponses = {
4201
+ /**
4202
+ * Story unlinked from experiment successfully
4203
+ */
4204
+ 204: void;
4205
+ };
4206
+ type CreateStoryMappingData = {
4207
+ body: {
4208
+ story_mapping: {
4209
+ /**
4210
+ * ID of the story to duplicate as a variant
4211
+ */
4212
+ original_story_id: number;
4213
+ /**
4214
+ * ID of an existing story to link as variant (skip duplication)
4215
+ */
4216
+ variant_story_id?: number | null;
4217
+ };
4218
+ };
4219
+ path: {
4220
+ /**
4221
+ * Numeric ID of the space
4222
+ */
4223
+ space_id: number;
4224
+ /**
4225
+ * Numeric ID of the experiment
4226
+ */
4227
+ experiment_id: number;
4228
+ /**
4229
+ * Numeric ID of the experiment variant
4230
+ */
4231
+ variant_id: number;
4232
+ };
4233
+ query?: never;
4234
+ url: '/v1/spaces/{space_id}/experiments/{experiment_id}/variants/{variant_id}/story_mappings';
4235
+ };
4236
+ type CreateStoryMappingResponses = {
4237
+ /**
4238
+ * Story mapping created successfully
4239
+ */
4240
+ 201: {
4241
+ story_mapping: {
4242
+ experiment_variant_id?: number;
4243
+ original_story_id?: number;
4244
+ variant_story_id?: number;
4245
+ original_slug?: string | null;
4246
+ variant_slug?: string | null;
4247
+ variant_story?: {
4248
+ [key: string]: unknown;
4249
+ } | null;
4250
+ };
4251
+ };
4252
+ };
4253
+ type DeleteStoryMappingResponses = {
4254
+ /**
4255
+ * Story mapping deleted successfully
4256
+ */
4257
+ 204: void;
4258
+ };
4259
+ type ListExperimentsData = {
4260
+ body?: never;
4261
+ path: {
4262
+ /**
4263
+ * Numeric ID of the space
4264
+ */
4265
+ space_id: number;
4266
+ };
4267
+ query?: {
4268
+ /**
4269
+ * Filter story schedulings by status.
4270
+ */
4271
+ by_status?: 'draft' | 'running' | 'paused' | 'completed';
4272
+ /**
4273
+ * The paginated page number.
4274
+ */
4275
+ page?: number;
4276
+ /**
4277
+ * Number of items per page.
4278
+ */
4279
+ per_page?: number;
4280
+ };
4281
+ url: '/v1/spaces/{space_id}/experiments';
4282
+ };
4283
+ type ListExperimentsResponses = {
4284
+ /**
4285
+ * Experiments retrieved successfully.
4286
+ */
4287
+ 200: {
4288
+ experiments: Array<ExperimentDetail>;
4289
+ };
4290
+ };
4291
+ type CreateExperimentData = {
4292
+ body: CreateExperimentRequest;
4293
+ path: {
4294
+ /**
4295
+ * Numeric ID of the space
4296
+ */
4297
+ space_id: number;
4298
+ };
4299
+ query?: never;
4300
+ url: '/v1/spaces/{space_id}/experiments';
4301
+ };
4302
+ type CreateExperimentResponses = {
4303
+ /**
4304
+ * Experiment created successfully
4305
+ */
4306
+ 201: {
4307
+ experiment: ExperimentDetail;
4308
+ };
4309
+ };
4310
+ type DeleteExperimentResponses = {
4311
+ /**
4312
+ * Experiment deleted successfully
4313
+ */
4314
+ 204: void;
4315
+ };
4316
+ type GetExperimentResponses = {
4317
+ /**
4318
+ * Experiment retrieved successfully.
4319
+ */
4320
+ 200: {
4321
+ experiment: ExperimentDetail;
4322
+ };
4323
+ };
4324
+ type UpdateExperimentData = {
4325
+ body: UpdateExperimentRequest;
4326
+ path: {
4327
+ /**
4328
+ * Numeric ID of the space
4329
+ */
4330
+ space_id: number;
4331
+ /**
4332
+ * Numeric ID of the experiment
4333
+ */
4334
+ id: number;
4335
+ };
4336
+ query?: never;
4337
+ url: '/v1/spaces/{space_id}/experiments/{id}';
4338
+ };
4339
+ type UpdateExperimentResponses = {
4340
+ /**
4341
+ * Experiment updated successfully.
4342
+ */
4343
+ 200: {
4344
+ experiment: ExperimentDetail;
4345
+ };
4346
+ };
4347
+ type ActivateExperimentData = {
4348
+ body?: never;
4349
+ path: {
4350
+ /**
4351
+ * Numeric ID of the space
4352
+ */
4353
+ space_id: number;
4354
+ /**
4355
+ * Numeric ID of the experiment
4356
+ */
4357
+ id: number;
4358
+ };
4359
+ query?: {
4360
+ /**
4361
+ * Optional planned end date (ISO 8601). Must be in the future.
4362
+ */
4363
+ end_date?: string;
4364
+ };
4365
+ url: '/v1/spaces/{space_id}/experiments/{id}/activate';
4366
+ };
4367
+ type ActivateExperimentResponses = {
4368
+ /**
4369
+ * Experiment activated successfully.
4370
+ */
4371
+ 200: {
4372
+ experiment: ExperimentDetail;
4373
+ };
4374
+ };
4375
+ type PauseExperimentResponses = {
4376
+ /**
4377
+ * Experiment paused successfully.
4378
+ */
4379
+ 200: {
4380
+ experiment: ExperimentDetail;
4381
+ };
4382
+ };
4383
+ type CompleteExperimentResponses = {
4384
+ /**
4385
+ * Experiment completed successfully.
4386
+ */
4387
+ 200: {
4388
+ experiment: ExperimentDetail;
4389
+ };
4390
+ };
4391
+ type SelectExperimentWinnerResponses = {
4392
+ /**
4393
+ * Winner selected successfully.
4394
+ */
4395
+ 200: {
4396
+ experiment: ExperimentDetail;
4397
+ };
4398
+ };
4399
+ type CompleteExperimentWithWinnerResponses = {
4400
+ /**
4401
+ * Experiment completed with winner.
4402
+ */
4403
+ 200: {
4404
+ experiment: ExperimentDetail;
4405
+ };
4406
+ };
4407
+ type ListInternalTagsData = {
4408
+ body?: never;
4409
+ path: {
4410
+ /**
4411
+ * Space ID
4412
+ */
4413
+ space_id: number;
4414
+ };
4415
+ query?: {
4416
+ /**
4417
+ * Search term
4418
+ */
4419
+ search?: string;
4420
+ /**
4421
+ * Filter tags by object type.
4422
+ */
4423
+ by_object_type?: 'asset' | 'component' | 'idea';
4424
+ /**
4425
+ * Filter by comma-separated IDs.
4426
+ */
4427
+ by_ids?: string;
4428
+ /**
4429
+ * Include asset count for each tag (only for asset type tags).
4430
+ */
4431
+ with_assets_count?: boolean;
4432
+ /**
4433
+ * The paginated page number.
4434
+ */
4435
+ page?: number;
4436
+ /**
4437
+ * Number of items per page.
4438
+ */
4439
+ per_page?: number;
4440
+ };
4441
+ url: '/v1/spaces/{space_id}/internal_tags';
4442
+ };
4443
+ type CreateInternalTagData = {
4444
+ body: InternalTagRequest;
4445
+ path: {
4446
+ /**
4447
+ * Space ID
4448
+ */
4449
+ space_id: number;
4450
+ };
4451
+ query?: never;
4452
+ url: '/v1/spaces/{space_id}/internal_tags';
4453
+ };
4454
+ type UpdateInternalTagData = {
4455
+ body: InternalTagRequest;
4456
+ path: {
4457
+ /**
4458
+ * Space ID
4459
+ */
4460
+ space_id: number;
4461
+ /**
4462
+ * Internal Tag ID
4463
+ */
4464
+ id: number;
4465
+ };
4466
+ query?: never;
4467
+ url: '/v1/spaces/{space_id}/internal_tags/{id}';
4468
+ };
4469
+ type ListPresetsData = {
4470
+ body?: never;
4471
+ path: {
4472
+ /**
4473
+ * Numeric ID of the space
4474
+ */
4475
+ space_id: number;
4476
+ };
4477
+ query?: {
4478
+ /**
4479
+ * Filter presets by component ID.
4480
+ */
4481
+ component_id?: number;
4482
+ };
4483
+ url: '/v1/spaces/{space_id}/presets';
4484
+ };
4485
+ type CreatePresetData = {
4486
+ body: CreatePresetRequest;
4487
+ path: {
4488
+ /**
4489
+ * Numeric ID of the space
4490
+ */
4491
+ space_id: number;
4492
+ };
4493
+ query?: never;
4494
+ url: '/v1/spaces/{space_id}/presets';
4495
+ };
4496
+ type UpdatePresetData = {
4497
+ body: UpdatePresetRequest;
4498
+ path: {
4499
+ /**
4500
+ * Numeric ID of the space
4501
+ */
4502
+ space_id: number;
4503
+ /**
4504
+ * Numeric ID of the preset
4505
+ */
4506
+ id: number;
4507
+ };
4508
+ query?: never;
4509
+ url: '/v1/spaces/{space_id}/presets/{id}';
4510
+ };
4511
+ type ListSpacesData = {
4512
+ body?: never;
4513
+ path?: never;
4514
+ query?: {
4515
+ /**
4516
+ * Search term
4517
+ */
4518
+ search?: string;
4519
+ };
4520
+ url: '/v1/spaces';
4521
+ };
4522
+ type CreateSpaceData = {
4523
+ body: CreateSpaceRequest;
4524
+ path?: never;
4525
+ query?: {
4526
+ /**
4527
+ * ID of existing space to duplicate.
4528
+ */
4529
+ dup_id?: number;
4530
+ /**
4531
+ * Whether to create the space within an organization.
4532
+ */
4533
+ in_org?: boolean;
4534
+ /**
4535
+ * Type of space to create (required for org spaces in v2 enterprise plans).
4536
+ */
4537
+ space_type?: string;
4538
+ /**
4539
+ * Whether to assign the current user's partner to the space.
4540
+ */
4541
+ assign_partner?: boolean;
4542
+ };
4543
+ url: '/v1/spaces';
4544
+ };
4545
+ type UpdateSpaceData = {
4546
+ body: UpdateSpaceRequest;
4547
+ path: {
4548
+ /**
4549
+ * Space ID
4550
+ */
4551
+ space_id: number;
4552
+ };
4553
+ query?: never;
4554
+ url: '/v1/spaces/{space_id}';
4555
+ };
4556
+ type ListStoriesData = {
4557
+ body?: never;
4558
+ path: {
4559
+ /**
4560
+ * ID
4561
+ */
4562
+ space_id: number;
4563
+ };
4564
+ query?: {
4565
+ /**
4566
+ * Search term
4567
+ */
4568
+ search?: string;
4569
+ /**
4570
+ * Filter by a term using full text search.
4571
+ */
4572
+ text_search?: string;
4573
+ /**
4574
+ * Retrieve specific stories by providing their UUIDs as a comma-separated string.
4575
+ */
4576
+ by_uuids?: string;
4577
+ /**
4578
+ * Retrieve specific stories by providing their UUIDs as a comma-separated string. The order of the stories in the response matches the order in which the UUIDs are listed.
4579
+ */
4580
+ by_uuids_ordered?: string;
4581
+ /**
4582
+ * Filter by comma-separated IDs.
4583
+ */
4584
+ by_ids?: string;
4585
+ /**
4586
+ * Filter by parent ID.
4587
+ */
4588
+ with_parent?: string;
4589
+ /**
4590
+ * Filter releases by branch ID.
4591
+ */
4592
+ branch_id?: number;
4593
+ /**
4594
+ * Retrieve stories by comma-separated `full_slug`. It is possible to specify wildcards by using *.
4595
+ *
4596
+ * Examples:
4597
+ * - `by_slugs=posts/my-third-post,posts/my-second-post`
4598
+ * - `by_slugs=posts*`.
4599
+ */
4600
+ by_slugs?: string;
4601
+ /**
4602
+ * Exclude stories by specifying comma-separated values of full_slug.
4603
+ */
4604
+ excluding_slugs?: string;
4605
+ /**
4606
+ * Retrieve stories that are in a particular workflow stage by providing a comma-separated list of workflow stage IDs. Workflow stage IDs can be retrieved via the [Management API](https://www.storyblok.com/docs/api/management/core-resources/workflow-stage/workflow-stage).
4607
+ */
4608
+ in_workflow_stages?: string;
4609
+ /**
4610
+ * has workflow stages.
4611
+ */
4612
+ has_workflow_stages?: boolean;
4613
+ /**
4614
+ * in release id.
4615
+ */
4616
+ in_release?: number;
4617
+ /**
4618
+ * filters by component as a comma-separated string.
4619
+ */
4620
+ contain_component?: string;
4621
+ /**
4622
+ * pinned.
4623
+ */
4624
+ pinned?: boolean;
4625
+ /**
4626
+ * Exclude specific stories by providing their IDs as a comma-separated string.
4627
+ */
4628
+ excluding_ids?: string;
4629
+ /**
4630
+ * Filter by specific tag(s). Multiple tags can be provided as a comma-separated string (treated like an OR operator).
4631
+ */
4632
+ with_tag?: string;
4633
+ /**
4634
+ * Folders Only.
4635
+ */
4636
+ folder_only?: boolean;
4637
+ /**
4638
+ * Root Folders Only.
4639
+ */
4640
+ root_folders_only?: boolean;
4641
+ /**
4642
+ * Stories Only.
4643
+ */
4644
+ story_only?: boolean;
4645
+ /**
4646
+ * with slug.
4647
+ */
4648
+ with_slug?: string;
4649
+ /**
4650
+ * Filter entries whose full slug starts with the given value. For example, `starts_with=de/beitraege`, `starts_with=en/posts`.
4651
+ */
4652
+ starts_with?: string;
4653
+ /**
4654
+ * Filter to include stories in trash.
4655
+ */
4656
+ in_trash?: boolean;
4657
+ /**
4658
+ * Is Published.
4659
+ */
4660
+ is_published?: boolean;
4661
+ /**
4662
+ * Scheduled at greater than (Format: yyyy-MM-dd HH:mm).
4663
+ */
4664
+ scheduled_at_gt?: string;
4665
+ /**
4666
+ * Scheduled at less than (Format: yyyy-MM-dd HH:mm).
4667
+ */
4668
+ scheduled_at_lt?: string;
4669
+ /**
4670
+ * Scheduled by status.
4671
+ */
4672
+ scheduled_by_status?: string;
4673
+ /**
4674
+ * Sort stories in ascending or descending order by a specific property. Possible properties are all default story properties and any custom fields defined in the schema of the story type.
4675
+ * Default story properties can be used like this:
4676
+ * - `sort_by=created_at:desc`
4677
+ * - `sort_by=slug:asc`
4678
+ *
4679
+ * Custom fields can be used like this:
4680
+ * - `sort_by=content.meta_description:asc`
4681
+ * - `sort_by=content.event_title:desc`
4682
+ *
4683
+ * By default, all custom fields are sorted as strings. To sort custom fields with numeric values, it needs to be specified whether they should be treated as float or integer. Examples:
4684
+ * - `sort_by=content.price:asc:float`
4685
+ * - `sort_by=content.event_number:asc:int`
4686
+ *
4687
+ * Different sorts can be chained using commas like this:
4688
+ * - `sort_by=name:desc,slug:asc`
4689
+ *
4690
+ * There is also a possibility to sort values keeping the null (or empty) ones first or last:
4691
+ * - `sort_by=path:desc:nulls_first`
4692
+ * - `sort_by=path:desc:nulls_last`
4693
+ *
4694
+ * `nulls_last` is the default behavior.
4695
+ */
4696
+ sort_by?: string;
4697
+ /**
4698
+ * Current user's stories only.
4699
+ */
4700
+ mine?: boolean;
4701
+ /**
4702
+ * Filter by favourite (true/false).
4703
+ */
4704
+ favourite?: boolean;
4705
+ /**
4706
+ * with_alts.
4707
+ */
4708
+ with_alts?: boolean;
4709
+ /**
4710
+ * With Summary.
4711
+ */
4712
+ with_summary?: boolean;
4713
+ /**
4714
+ * With Translated Stories.
4715
+ */
4716
+ with_translated_stories?: boolean;
4717
+ /**
4718
+ * Custom Sorting.
4719
+ */
4720
+ custom_sorting?: boolean;
4721
+ /**
4722
+ * Reference Search.
4723
+ */
4724
+ reference_search?: string;
4725
+ /**
4726
+ * ID of a release that given story is a part of.
4727
+ */
4728
+ release_id?: number;
4729
+ /**
4730
+ * Filter by attributes and operations.
4731
+ */
4732
+ filter_query?: {
4733
+ __or?: Array<{
4734
+ [key: string]: {
4735
+ [key: string]: string;
4736
+ };
4737
+ }>;
4738
+ [key: string]: {
4739
+ in?: string;
4740
+ not_in?: string;
4741
+ like?: string;
4742
+ not_like?: string;
4743
+ exists?: string;
4744
+ in_array?: Array<string>;
4745
+ all_in_array?: Array<string>;
4746
+ gt_date?: string;
4747
+ lt_date?: string;
4748
+ gt_int?: number;
4749
+ lt_int?: number;
4750
+ gt_float?: number;
4751
+ lt_float?: number;
4752
+ is?: 'empty' | 'not_empty' | 'empty_array' | 'not_empty_array' | 'null' | 'not_null' | 'true' | 'false';
4753
+ } | Array<{
4754
+ [key: string]: {
4755
+ [key: string]: string;
4756
+ };
4757
+ }> | undefined;
4758
+ };
4759
+ /**
4760
+ * Number of items per page.
4761
+ */
4762
+ per_page?: number;
4763
+ /**
4764
+ * The paginated page number.
4765
+ */
4766
+ page?: number;
4767
+ };
4768
+ url: '/v1/spaces/{space_id}/stories';
4769
+ };
4770
+ type ListStoriesResponses = {
4771
+ /**
4772
+ * Stories returned.
4773
+ */
4774
+ 200: {
4775
+ stories: Array<Stories>;
4776
+ };
4777
+ };
4778
+ type CreateStoryData = {
4779
+ body: UpdateStoryRequest;
4780
+ path: {
4781
+ /**
4782
+ * ID
4783
+ */
4784
+ space_id: number;
4785
+ };
4786
+ query?: {
4787
+ /**
4788
+ * If true, the frontend editor will be disabled for this story. Defaults to false.
4789
+ */
4790
+ disable_fe_editor?: boolean;
4791
+ /**
4792
+ * Preset ID.
4793
+ */
4794
+ preset_id?: number;
4795
+ /**
4796
+ * Use default preset.
4797
+ */
4798
+ use_default_preset?: boolean;
4799
+ /**
4800
+ * If true, the story will be published after updating. Defaults to false.
4801
+ */
4802
+ publish?: boolean;
4803
+ /**
4804
+ * ID of a release that given story is a part of.
4805
+ */
4806
+ release_id?: number;
4807
+ };
4808
+ url: '/v1/spaces/{space_id}/stories';
4809
+ };
4810
+ type CreateStoryResponses = {
4811
+ /**
4812
+ * Story Created
4813
+ */
4814
+ 201: {
4815
+ story: Story;
4816
+ };
4817
+ };
4818
+ type DeleteStoryResponses = {
4819
+ /**
4820
+ * Story Deleted.
4821
+ */
4822
+ 200: {
4823
+ story: Story;
4824
+ };
4825
+ };
4826
+ type GetStoryByIdData = {
4827
+ body?: never;
4828
+ path: {
4829
+ /**
4830
+ * ID
4831
+ */
4832
+ space_id: number;
4833
+ /**
4834
+ * Numeric ID
4835
+ */
4836
+ id: number;
4837
+ };
4838
+ query?: {
4839
+ /**
4840
+ * ID of a release that given story is a part of.
4841
+ */
4842
+ release_id?: number;
4843
+ };
4844
+ url: '/v1/spaces/{space_id}/stories/{id}';
4845
+ };
4846
+ type GetStoryByIdResponses = {
4847
+ /**
4848
+ * Story Found with Stage Information.
4849
+ */
4850
+ 200: {
4851
+ story: Story;
4852
+ };
4853
+ };
4854
+ type UpdateStoryData = {
4855
+ body: UpdateStoryRequest;
4856
+ path: {
4857
+ /**
4858
+ * ID
4859
+ */
4860
+ space_id: number;
4861
+ /**
4862
+ * Numeric ID
4863
+ */
4864
+ id: number;
4865
+ };
4866
+ query?: {
4867
+ /**
4868
+ * If true, the story will be published after updating. Defaults to false.
4869
+ */
4870
+ publish?: boolean;
4871
+ /**
4872
+ * If provided, the story will be translated using AI into the specified language.
4873
+ */
4874
+ ai_translate_language?: string;
4875
+ /**
4876
+ * ID of a release that given story is a part of.
4877
+ */
4878
+ release_id?: number;
4879
+ /**
4880
+ * Language code to unpublish the story individually (must be enabled in the space settings).
4881
+ */
4882
+ lang?: string;
4883
+ /**
4884
+ * Determines if the request can overwrite a locked story.
4885
+ */
4886
+ force_update?: boolean;
4887
+ /**
4888
+ * If set to '1', enables strict component validation during save.
4889
+ */
4890
+ strict_mode?: string;
4891
+ };
4892
+ url: '/v1/spaces/{space_id}/stories/{id}';
4893
+ };
4894
+ type UpdateStoryResponses = {
4895
+ /**
4896
+ * Story Updated.
4897
+ */
4898
+ 200: {
4899
+ story: Story;
4900
+ };
4901
+ };
4902
+ type DuplicateStoryData = {
4903
+ body: {
4904
+ story: {
4905
+ name?: string;
4906
+ slug?: string;
4907
+ parent_id?: number;
4908
+ };
4909
+ };
4910
+ path: {
4911
+ /**
4912
+ * ID
4913
+ */
4914
+ space_id: number;
4915
+ /**
4916
+ * Numeric ID
4917
+ */
4918
+ id: number;
4919
+ };
4920
+ query?: {
4921
+ /**
4922
+ * When auto creating folder this parameter is required.
4923
+ */
4924
+ auto_create_folders?: boolean;
4925
+ /**
4926
+ * Target Dimension id.
4927
+ */
4928
+ target_dimension?: number;
4929
+ /**
4930
+ * ID of a release that given story is a part of.
4931
+ */
4932
+ release_id?: number;
4933
+ /**
4934
+ * Indicates if the path should be copied over, and if missing, the path will be nullified.
4935
+ */
4936
+ same_path?: boolean;
4937
+ /**
4938
+ * Indicates if is possible to manipulate the translated slug.
4939
+ */
4940
+ modify_translated_slugs?: boolean;
4941
+ /**
4942
+ * Fields to include in translation (uid and name pairs).
4943
+ */
4944
+ translatable_dimensions_app_fields?: Array<{
4945
+ /**
4946
+ * Component definition ID or component instance _uid
4947
+ */
4948
+ uid: string;
4949
+ /**
4950
+ * Field name to translate
4951
+ */
4952
+ name: string;
4953
+ }>;
4954
+ };
4955
+ url: '/v1/spaces/{space_id}/stories/{id}/duplicate';
4956
+ };
4957
+ type DuplicateStoryResponses = {
4958
+ /**
4959
+ * Story Duplicated.
4960
+ */
4961
+ 200: {
4962
+ story: Story;
4963
+ };
4964
+ };
4965
+ type PublishStoryData = {
4966
+ body?: never;
4967
+ path: {
4968
+ /**
4969
+ * ID
4970
+ */
4971
+ space_id: number;
4972
+ /**
4973
+ * Numeric ID
4974
+ */
4975
+ id: number;
4976
+ };
4977
+ query?: {
4978
+ /**
4979
+ * ID of a release that given story is a part of.
4980
+ */
4981
+ release_id?: number;
4982
+ /**
4983
+ * Language code to unpublish the story individually (must be enabled in the space settings).
4984
+ */
4985
+ lang?: string;
4986
+ };
4987
+ url: '/v1/spaces/{space_id}/stories/{id}/publish';
4988
+ };
4989
+ type PublishStoryResponses = {
4990
+ /**
4991
+ * Story Published.
4992
+ */
4993
+ 200: {
4994
+ story: Story;
4995
+ };
4996
+ };
4997
+ type UpdateCurrentUserData = {
4998
+ body: UserUpdateRequest;
4999
+ path?: never;
5000
+ query?: never;
5001
+ url: '/v1/users/me';
5002
+ };
5003
+ type ListVersionsData = {
5004
+ body?: never;
5005
+ path: {
5006
+ /**
5007
+ * Numeric ID of a space
5008
+ */
5009
+ space_id: number;
5010
+ };
5011
+ query: {
5012
+ /**
5013
+ * Name of the model (stories or components).
5014
+ */
5015
+ model: 'stories' | 'components';
5016
+ /**
5017
+ * Numeric ID of the model.
5018
+ */
5019
+ model_id: number;
5020
+ /**
5021
+ * Indicate if the version approach is V2 (applies date-based restrictions).
5022
+ */
5023
+ versions_v2?: boolean;
5024
+ /**
5025
+ * The paginated page number.
5026
+ */
5027
+ page?: number;
5028
+ /**
5029
+ * Number of items per page.
5030
+ */
5031
+ per_page?: number;
5032
+ };
5033
+ url: '/v1/spaces/{space_id}/versions';
5034
+ };
5035
+ type ListVersionsResponses = {
5036
+ /**
5037
+ * Versions returned.
5038
+ */
5039
+ 200: {
5040
+ versions: Array<Version>;
5041
+ };
5042
+ };
5043
+ type RestoreVersionData = {
5044
+ body?: never;
5045
+ path: {
5046
+ /**
5047
+ * Numeric ID of a space
5048
+ */
5049
+ space_id: number;
5050
+ /**
5051
+ * Version ID
5052
+ */
5053
+ id: number;
5054
+ };
5055
+ query: {
5056
+ /**
5057
+ * Name of the model (stories or components).
5058
+ */
5059
+ model: 'stories' | 'components';
5060
+ /**
5061
+ * Numeric ID of the model.
5062
+ */
5063
+ model_id: number;
5064
+ };
5065
+ url: '/v1/spaces/{space_id}/versions/{id}';
5066
+ };
5067
+ type RestoreVersionResponses = {
5068
+ /**
5069
+ * Version restored
5070
+ */
5071
+ 204: void;
5072
+ };
5073
+ //#endregion
5074
+ export { ActivateExperimentData, ActivateExperimentResponses, Asset, AssetFolder, AssetUpdateRequest, BulkDestroyAssetsData, BulkRestoreAssetsData, BulkUpdateAssetsData, CompleteExperimentResponses, CompleteExperimentWithWinnerResponses, ComponentGroup, CreateAsset, CreateAssetData, CreateAssetFolderData, CreateComponentData, CreateComponentGroupData, CreateComponentResponses, CreateDatasourceData, CreateDatasourceEntryData, CreateExperimentData, CreateExperimentResponses, CreateExperimentStoryData, CreateExperimentStoryResponses, CreateInternalTagData, CreatePresetData, CreateSpaceData, CreateStoryData, CreateStoryMappingData, CreateStoryMappingResponses, CreateStoryResponses, Datasource, DatasourceEntriesIndexResponse, DatasourceEntryShowResponse, DeleteAssetFolderData, DeleteComponentResponses, DeleteExperimentResponses, DeleteExperimentStoryResponses, DeleteStoryMappingResponses, DeleteStoryResponses, DuplicateStoryData, DuplicateStoryResponses, FinishUploadAsset, GetComponentResponses, GetComponentVersionData, GetComponentVersionResponses, GetExperimentResponses, GetExperimentResultsResponses, GetStoryByIdData, GetStoryByIdResponses, InternalTag, ListAssetFoldersData, ListAssetsData, ListAssetsResponses, ListComponentGroupsData, ListDatasourceEntriesData, ListDatasourcesData, ListExperimentsData, ListExperimentsResponses, ListInternalTagsData, ListManagementComponentsData, ListManagementComponentsResponses, ListPresetsData, ListSpacesData, ListStoriesData, ListStoriesResponses, ListVersionsData, ListVersionsResponses, PartialUpdateDatasourceData, PartialUpdateDatasourceEntryData, PauseExperimentResponses, Preset, PublishStoryData, PublishStoryResponses, PushExperimentResultsData, PushExperimentResultsResponses, ReplaceDatasourceData, ReplaceDatasourceEntryData, RestoreComponentResponses, RestoreVersionData, RestoreVersionResponses, SelectExperimentWinnerResponses, ShowAsset, Space, SpaceDetail, UpdateAssetData, UpdateAssetFolderData, UpdateComponentData, UpdateComponentGroupData, UpdateComponentResponses, UpdateCurrentUserData, UpdateExperimentData, UpdateExperimentResponses, UpdateInternalTagData, UpdatePresetData, UpdateSpaceData, UpdateStoryData, UpdateStoryRequest, UpdateStoryResponses, User };
5075
+ //# sourceMappingURL=types.gen.d.cts.map