@epilot/sdk 2.20.11 → 2.20.12

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 (229) hide show
  1. package/definitions/access-token-runtime.json +1 -0
  2. package/definitions/access-token.json +835 -0
  3. package/definitions/address-runtime.json +1 -0
  4. package/definitions/address-suggestions-runtime.json +1 -0
  5. package/definitions/address-suggestions.json +582 -0
  6. package/definitions/address.json +578 -0
  7. package/definitions/ai-agents-runtime.json +1 -0
  8. package/definitions/ai-agents.json +2863 -0
  9. package/definitions/app-runtime.json +1 -0
  10. package/definitions/app.json +5994 -0
  11. package/definitions/audit-logs-runtime.json +1 -0
  12. package/definitions/audit-logs.json +305 -0
  13. package/definitions/automation-runtime.json +1 -0
  14. package/definitions/automation.json +5889 -0
  15. package/definitions/billing-runtime.json +1 -0
  16. package/definitions/billing.json +2394 -0
  17. package/definitions/blueprint-manifest-runtime.json +1 -0
  18. package/definitions/blueprint-manifest.json +7817 -0
  19. package/definitions/calendar-runtime.json +1 -0
  20. package/definitions/calendar.json +2904 -0
  21. package/definitions/configuration-hub-runtime.json +1 -0
  22. package/definitions/configuration-hub.json +2250 -0
  23. package/definitions/consent-runtime.json +1 -0
  24. package/definitions/consent.json +344 -0
  25. package/definitions/customer-portal-runtime.json +1 -0
  26. package/definitions/customer-portal.json +20185 -0
  27. package/definitions/dashboard-runtime.json +1 -0
  28. package/definitions/dashboard.json +1355 -0
  29. package/definitions/data-governance-runtime.json +1 -0
  30. package/definitions/data-governance.json +1126 -0
  31. package/definitions/deduplication-runtime.json +1 -0
  32. package/definitions/deduplication.json +782 -0
  33. package/definitions/design-runtime.json +1 -0
  34. package/definitions/design.json +1827 -0
  35. package/definitions/document-runtime.json +1 -0
  36. package/definitions/document.json +758 -0
  37. package/definitions/email-settings-runtime.json +1 -0
  38. package/definitions/email-settings.json +3736 -0
  39. package/definitions/email-template-runtime.json +1 -0
  40. package/definitions/email-template.json +1441 -0
  41. package/definitions/entity-mapping-runtime.json +1 -0
  42. package/definitions/entity-mapping.json +1829 -0
  43. package/definitions/entity-runtime.json +1 -0
  44. package/definitions/entity.json +11546 -0
  45. package/definitions/environments-runtime.json +1 -0
  46. package/definitions/environments.json +703 -0
  47. package/definitions/event-catalog-runtime.json +1 -0
  48. package/definitions/event-catalog.json +2014 -0
  49. package/definitions/file-runtime.json +1 -0
  50. package/definitions/file.json +4297 -0
  51. package/definitions/iban-runtime.json +1 -0
  52. package/definitions/iban.json +132 -0
  53. package/definitions/integration-toolkit-runtime.json +1 -0
  54. package/definitions/integration-toolkit.json +12966 -0
  55. package/definitions/journey-runtime.json +1 -0
  56. package/definitions/journey.json +3561 -0
  57. package/definitions/kanban-runtime.json +1 -0
  58. package/definitions/kanban.json +1506 -0
  59. package/definitions/message-runtime.json +1 -0
  60. package/definitions/message.json +3667 -0
  61. package/definitions/metering-runtime.json +1 -0
  62. package/definitions/metering.json +3132 -0
  63. package/definitions/notes-runtime.json +1 -0
  64. package/definitions/notes.json +1698 -0
  65. package/definitions/notification-runtime.json +1 -0
  66. package/definitions/notification.json +1439 -0
  67. package/definitions/organization-runtime.json +1 -0
  68. package/definitions/organization.json +1192 -0
  69. package/definitions/partner-directory-runtime.json +1 -0
  70. package/definitions/partner-directory.json +2284 -0
  71. package/definitions/permissions-runtime.json +1 -0
  72. package/definitions/permissions.json +1598 -0
  73. package/definitions/pricing-runtime.json +1 -0
  74. package/definitions/pricing-tier-runtime.json +1 -0
  75. package/definitions/pricing-tier.json +105 -0
  76. package/definitions/pricing.json +14301 -0
  77. package/definitions/purpose-runtime.json +1 -0
  78. package/definitions/purpose.json +524 -0
  79. package/definitions/query-runtime.json +1 -0
  80. package/definitions/query.json +3178 -0
  81. package/definitions/sandbox-runtime.json +1 -0
  82. package/definitions/sandbox.json +453 -0
  83. package/definitions/sharing-runtime.json +1 -0
  84. package/definitions/sharing.json +956 -0
  85. package/definitions/snapshot-runtime.json +1 -0
  86. package/definitions/snapshot.json +1103 -0
  87. package/definitions/submission-runtime.json +1 -0
  88. package/definitions/submission.json +313 -0
  89. package/definitions/targeting-runtime.json +1 -0
  90. package/definitions/targeting.json +2285 -0
  91. package/definitions/template-variables-runtime.json +1 -0
  92. package/definitions/template-variables.json +1416 -0
  93. package/definitions/user-runtime.json +1 -0
  94. package/definitions/user.json +3051 -0
  95. package/definitions/validation-rules-runtime.json +1 -0
  96. package/definitions/validation-rules.json +2642 -0
  97. package/definitions/webhooks-runtime.json +1 -0
  98. package/definitions/webhooks.json +1875 -0
  99. package/definitions/workflow-definition-runtime.json +1 -0
  100. package/definitions/workflow-definition.json +3592 -0
  101. package/definitions/workflow-runtime.json +1 -0
  102. package/definitions/workflow.json +4669 -0
  103. package/dist/apis/access-token.cjs +6 -6
  104. package/dist/apis/access-token.js +1 -1
  105. package/dist/apis/address-suggestions.cjs +6 -6
  106. package/dist/apis/address-suggestions.js +1 -1
  107. package/dist/apis/address.cjs +6 -6
  108. package/dist/apis/address.js +1 -1
  109. package/dist/apis/ai-agents.cjs +6 -6
  110. package/dist/apis/ai-agents.js +1 -1
  111. package/dist/apis/app.cjs +6 -6
  112. package/dist/apis/app.d.cts +2 -2
  113. package/dist/apis/app.d.ts +2 -2
  114. package/dist/apis/app.js +1 -1
  115. package/dist/apis/audit-logs.cjs +6 -6
  116. package/dist/apis/audit-logs.js +1 -1
  117. package/dist/apis/automation.cjs +6 -6
  118. package/dist/apis/automation.js +1 -1
  119. package/dist/apis/billing.cjs +6 -6
  120. package/dist/apis/billing.js +1 -1
  121. package/dist/apis/blueprint-manifest.cjs +6 -6
  122. package/dist/apis/blueprint-manifest.js +1 -1
  123. package/dist/apis/calendar.cjs +6 -6
  124. package/dist/apis/calendar.js +1 -1
  125. package/dist/apis/configuration-hub.cjs +6 -6
  126. package/dist/apis/configuration-hub.js +1 -1
  127. package/dist/apis/consent.cjs +6 -6
  128. package/dist/apis/consent.js +1 -1
  129. package/dist/apis/customer-portal.cjs +6 -6
  130. package/dist/apis/customer-portal.d.cts +2 -2
  131. package/dist/apis/customer-portal.d.ts +2 -2
  132. package/dist/apis/customer-portal.js +1 -1
  133. package/dist/apis/dashboard.cjs +6 -6
  134. package/dist/apis/dashboard.js +1 -1
  135. package/dist/apis/data-governance.cjs +6 -6
  136. package/dist/apis/data-governance.js +1 -1
  137. package/dist/apis/deduplication.cjs +6 -6
  138. package/dist/apis/deduplication.js +1 -1
  139. package/dist/apis/design.cjs +6 -6
  140. package/dist/apis/design.js +1 -1
  141. package/dist/apis/document.cjs +6 -6
  142. package/dist/apis/document.js +1 -1
  143. package/dist/apis/email-settings.cjs +6 -6
  144. package/dist/apis/email-settings.js +1 -1
  145. package/dist/apis/email-template.cjs +6 -6
  146. package/dist/apis/email-template.js +1 -1
  147. package/dist/apis/entity-mapping.cjs +6 -6
  148. package/dist/apis/entity-mapping.js +1 -1
  149. package/dist/apis/entity.cjs +6 -6
  150. package/dist/apis/entity.js +1 -1
  151. package/dist/apis/environments.cjs +6 -6
  152. package/dist/apis/environments.js +1 -1
  153. package/dist/apis/event-catalog.cjs +6 -6
  154. package/dist/apis/event-catalog.js +1 -1
  155. package/dist/apis/file.cjs +6 -6
  156. package/dist/apis/file.js +1 -1
  157. package/dist/apis/iban.cjs +6 -6
  158. package/dist/apis/iban.js +1 -1
  159. package/dist/apis/integration-toolkit.cjs +6 -6
  160. package/dist/apis/integration-toolkit.js +1 -1
  161. package/dist/apis/journey.cjs +6 -6
  162. package/dist/apis/journey.js +1 -1
  163. package/dist/apis/kanban.cjs +6 -6
  164. package/dist/apis/kanban.js +1 -1
  165. package/dist/apis/message.cjs +6 -6
  166. package/dist/apis/message.js +1 -1
  167. package/dist/apis/metering.cjs +6 -6
  168. package/dist/apis/metering.js +1 -1
  169. package/dist/apis/notes.cjs +6 -6
  170. package/dist/apis/notes.js +1 -1
  171. package/dist/apis/notification.cjs +6 -6
  172. package/dist/apis/notification.js +1 -1
  173. package/dist/apis/organization.cjs +6 -6
  174. package/dist/apis/organization.js +1 -1
  175. package/dist/apis/partner-directory.cjs +6 -6
  176. package/dist/apis/partner-directory.js +1 -1
  177. package/dist/apis/permissions.cjs +6 -6
  178. package/dist/apis/permissions.js +1 -1
  179. package/dist/apis/pricing-tier.cjs +6 -6
  180. package/dist/apis/pricing-tier.js +1 -1
  181. package/dist/apis/pricing.cjs +6 -6
  182. package/dist/apis/pricing.js +1 -1
  183. package/dist/apis/purpose.cjs +6 -6
  184. package/dist/apis/purpose.js +1 -1
  185. package/dist/apis/query.cjs +6 -6
  186. package/dist/apis/query.js +1 -1
  187. package/dist/apis/sandbox.cjs +6 -6
  188. package/dist/apis/sandbox.js +1 -1
  189. package/dist/apis/sharing.cjs +6 -6
  190. package/dist/apis/sharing.js +1 -1
  191. package/dist/apis/snapshot.cjs +6 -6
  192. package/dist/apis/snapshot.js +1 -1
  193. package/dist/apis/submission.cjs +6 -6
  194. package/dist/apis/submission.js +1 -1
  195. package/dist/apis/target.cjs +6 -6
  196. package/dist/apis/target.js +1 -1
  197. package/dist/apis/targeting.cjs +6 -6
  198. package/dist/apis/targeting.js +1 -1
  199. package/dist/apis/template-variables.cjs +6 -6
  200. package/dist/apis/template-variables.js +1 -1
  201. package/dist/apis/user.cjs +6 -6
  202. package/dist/apis/user.js +1 -1
  203. package/dist/apis/validation-rules.cjs +6 -6
  204. package/dist/apis/validation-rules.js +1 -1
  205. package/dist/apis/webhooks.cjs +6 -6
  206. package/dist/apis/webhooks.js +1 -1
  207. package/dist/apis/workflow-definition.cjs +6 -6
  208. package/dist/apis/workflow-definition.js +1 -1
  209. package/dist/apis/workflow.cjs +6 -6
  210. package/dist/apis/workflow.js +1 -1
  211. package/dist/{app-E75NP2YE.js → app-B3TAEVS4.js} +1 -1
  212. package/dist/{app-EI2PFRBV.cjs → app-C5H6RLZ5.cjs} +1 -1
  213. package/dist/{app.d-BHpFAvPW.d.cts → app.d-CqXqNLxq.d.cts} +9 -10
  214. package/dist/{app.d-BHpFAvPW.d.ts → app.d-CqXqNLxq.d.ts} +9 -10
  215. package/dist/{chunk-SMERBU2T.js → chunk-36NU5MIM.js} +2 -2
  216. package/dist/{chunk-QZH7QNNP.cjs → chunk-75JAKEAU.cjs} +2 -2
  217. package/dist/customer-portal-FDB3TGS7.cjs +7 -0
  218. package/dist/customer-portal-NELL7GRO.js +7 -0
  219. package/dist/{customer-portal.d-DJHJY-vb.d.cts → customer-portal.d-gb6dOHv3.d.cts} +218 -6
  220. package/dist/{customer-portal.d-DJHJY-vb.d.ts → customer-portal.d-gb6dOHv3.d.ts} +218 -6
  221. package/dist/index.cjs +8 -8
  222. package/dist/index.d.cts +2 -2
  223. package/dist/index.d.ts +2 -2
  224. package/dist/index.js +1 -1
  225. package/docs/app.md +4 -7
  226. package/docs/customer-portal.md +136 -21
  227. package/package.json +1 -1
  228. package/dist/customer-portal-CDFQM72A.js +0 -7
  229. package/dist/customer-portal-MS6WNXAO.cjs +0 -7
@@ -0,0 +1 @@
1
+ {"s":"https://environments.sls.epilot.io","o":[["listEnvironmentVariables","get","/v1/environments"],["createEnvironmentVariable","post","/v1/environments",null,1],["listEnvironmentGroups","get","/v1/environments/groups"],["putEnvironmentGroup","put","/v1/environments/groups/{name}",null,1],["deleteEnvironmentGroup","delete","/v1/environments/groups/{name}"],["getEnvironmentVariable","get","/v1/environments/{key}"],["updateEnvironmentVariable","put","/v1/environments/{key}",null,1],["deleteEnvironmentVariable","delete","/v1/environments/{key}"]],"v":"3.0.3","pp":{"/v1/environments/groups/{name}":[["name","p",true]],"/v1/environments/{key}":[["key","p",true]]}}
@@ -0,0 +1,703 @@
1
+ {
2
+ "openapi": "3.0.3",
3
+ "info": {
4
+ "title": "Environments API",
5
+ "description": "API for managing organization environment variables and secrets",
6
+ "version": "1.0.1"
7
+ },
8
+ "tags": [
9
+ {
10
+ "name": "environments",
11
+ "description": "Environment variables and secrets management"
12
+ }
13
+ ],
14
+ "security": [
15
+ {
16
+ "EpilotAuth": []
17
+ }
18
+ ],
19
+ "paths": {
20
+ "/v1/environments": {
21
+ "get": {
22
+ "operationId": "listEnvironmentVariables",
23
+ "summary": "listEnvironmentVariables",
24
+ "description": "List all environment variables for the organization. Returns metadata only, no secret values.",
25
+ "tags": [
26
+ "environments"
27
+ ],
28
+ "responses": {
29
+ "200": {
30
+ "description": "List of environment variables",
31
+ "content": {
32
+ "application/json": {
33
+ "schema": {
34
+ "$ref": "#/components/schemas/EnvironmentVariableList"
35
+ }
36
+ }
37
+ }
38
+ },
39
+ "401": {
40
+ "description": "Unauthorized"
41
+ },
42
+ "403": {
43
+ "description": "Forbidden"
44
+ },
45
+ "500": {
46
+ "description": "Internal server error"
47
+ }
48
+ }
49
+ },
50
+ "post": {
51
+ "operationId": "createEnvironmentVariable",
52
+ "summary": "createEnvironmentVariable",
53
+ "description": "Create a new environment variable or secret for the organization. If `group` is provided and the group does not yet exist, it is created automatically.",
54
+ "tags": [
55
+ "environments"
56
+ ],
57
+ "requestBody": {
58
+ "required": true,
59
+ "content": {
60
+ "application/json": {
61
+ "schema": {
62
+ "$ref": "#/components/schemas/EnvironmentVariableCreateRequest"
63
+ }
64
+ }
65
+ }
66
+ },
67
+ "responses": {
68
+ "201": {
69
+ "description": "Created environment variable",
70
+ "content": {
71
+ "application/json": {
72
+ "schema": {
73
+ "$ref": "#/components/schemas/EnvironmentVariable"
74
+ }
75
+ }
76
+ }
77
+ },
78
+ "400": {
79
+ "description": "Invalid request"
80
+ },
81
+ "401": {
82
+ "description": "Unauthorized"
83
+ },
84
+ "403": {
85
+ "description": "Forbidden"
86
+ },
87
+ "409": {
88
+ "description": "Environment variable with this key already exists"
89
+ },
90
+ "500": {
91
+ "description": "Internal server error"
92
+ }
93
+ }
94
+ }
95
+ },
96
+ "/v1/environments/groups": {
97
+ "get": {
98
+ "operationId": "listEnvironmentGroups",
99
+ "summary": "listEnvironmentGroups",
100
+ "description": "List all environment groups for the organization.",
101
+ "tags": [
102
+ "environments"
103
+ ],
104
+ "responses": {
105
+ "200": {
106
+ "description": "List of environment groups",
107
+ "content": {
108
+ "application/json": {
109
+ "schema": {
110
+ "$ref": "#/components/schemas/EnvironmentGroupList"
111
+ }
112
+ }
113
+ }
114
+ },
115
+ "401": {
116
+ "description": "Unauthorized"
117
+ },
118
+ "403": {
119
+ "description": "Forbidden"
120
+ },
121
+ "500": {
122
+ "description": "Internal server error"
123
+ }
124
+ }
125
+ }
126
+ },
127
+ "/v1/environments/groups/{name}": {
128
+ "parameters": [
129
+ {
130
+ "name": "name",
131
+ "in": "path",
132
+ "required": true,
133
+ "schema": {
134
+ "type": "string"
135
+ }
136
+ }
137
+ ],
138
+ "put": {
139
+ "operationId": "putEnvironmentGroup",
140
+ "summary": "putEnvironmentGroup",
141
+ "description": "Create or update an environment group by name. Acts as an upsert — creates the group if it does not exist.",
142
+ "tags": [
143
+ "environments"
144
+ ],
145
+ "requestBody": {
146
+ "required": true,
147
+ "content": {
148
+ "application/json": {
149
+ "schema": {
150
+ "$ref": "#/components/schemas/EnvironmentGroupUpsertRequest"
151
+ }
152
+ }
153
+ }
154
+ },
155
+ "responses": {
156
+ "200": {
157
+ "description": "Updated group",
158
+ "content": {
159
+ "application/json": {
160
+ "schema": {
161
+ "$ref": "#/components/schemas/EnvironmentGroup"
162
+ }
163
+ }
164
+ }
165
+ },
166
+ "201": {
167
+ "description": "Created group",
168
+ "content": {
169
+ "application/json": {
170
+ "schema": {
171
+ "$ref": "#/components/schemas/EnvironmentGroup"
172
+ }
173
+ }
174
+ }
175
+ },
176
+ "401": {
177
+ "description": "Unauthorized"
178
+ },
179
+ "403": {
180
+ "description": "Forbidden"
181
+ },
182
+ "500": {
183
+ "description": "Internal server error"
184
+ }
185
+ }
186
+ },
187
+ "delete": {
188
+ "operationId": "deleteEnvironmentGroup",
189
+ "summary": "deleteEnvironmentGroup",
190
+ "description": "Deletes a group. Variables assigned to this group become ungrouped.",
191
+ "tags": [
192
+ "environments"
193
+ ],
194
+ "responses": {
195
+ "204": {
196
+ "description": "Group deleted"
197
+ },
198
+ "401": {
199
+ "description": "Unauthorized"
200
+ },
201
+ "403": {
202
+ "description": "Forbidden"
203
+ },
204
+ "404": {
205
+ "description": "Group not found"
206
+ },
207
+ "500": {
208
+ "description": "Internal server error"
209
+ }
210
+ }
211
+ }
212
+ },
213
+ "/v1/environments/{key}": {
214
+ "parameters": [
215
+ {
216
+ "name": "key",
217
+ "in": "path",
218
+ "required": true,
219
+ "description": "Environment variable key",
220
+ "schema": {
221
+ "type": "string",
222
+ "pattern": "^[a-z0-9][a-z0-9_.\\-]{0,127}$"
223
+ }
224
+ }
225
+ ],
226
+ "get": {
227
+ "operationId": "getEnvironmentVariable",
228
+ "summary": "getEnvironmentVariable",
229
+ "description": "Get an environment variable by key. Returns value for non-secret types, omitted for SecretString.",
230
+ "tags": [
231
+ "environments"
232
+ ],
233
+ "responses": {
234
+ "200": {
235
+ "description": "Environment variable",
236
+ "content": {
237
+ "application/json": {
238
+ "schema": {
239
+ "$ref": "#/components/schemas/EnvironmentVariable"
240
+ }
241
+ }
242
+ }
243
+ },
244
+ "401": {
245
+ "description": "Unauthorized"
246
+ },
247
+ "403": {
248
+ "description": "Forbidden"
249
+ },
250
+ "404": {
251
+ "description": "Environment variable not found"
252
+ },
253
+ "500": {
254
+ "description": "Internal server error"
255
+ }
256
+ }
257
+ },
258
+ "put": {
259
+ "operationId": "updateEnvironmentVariable",
260
+ "summary": "updateEnvironmentVariable",
261
+ "description": "Create or update an environment variable. Acts as an upsert — creates the variable if it does not exist. If `group` is provided and the group does not yet exist, it is created automatically.",
262
+ "tags": [
263
+ "environments"
264
+ ],
265
+ "requestBody": {
266
+ "required": true,
267
+ "content": {
268
+ "application/json": {
269
+ "schema": {
270
+ "$ref": "#/components/schemas/EnvironmentVariableUpdateRequest"
271
+ }
272
+ }
273
+ }
274
+ },
275
+ "responses": {
276
+ "200": {
277
+ "description": "Updated environment variable",
278
+ "content": {
279
+ "application/json": {
280
+ "schema": {
281
+ "$ref": "#/components/schemas/EnvironmentVariable"
282
+ }
283
+ }
284
+ }
285
+ },
286
+ "201": {
287
+ "description": "Created environment variable",
288
+ "content": {
289
+ "application/json": {
290
+ "schema": {
291
+ "$ref": "#/components/schemas/EnvironmentVariable"
292
+ }
293
+ }
294
+ }
295
+ },
296
+ "400": {
297
+ "description": "Invalid request"
298
+ },
299
+ "401": {
300
+ "description": "Unauthorized"
301
+ },
302
+ "403": {
303
+ "description": "Forbidden"
304
+ },
305
+ "409": {
306
+ "description": "Cannot change the type of a variable that currently holds a value"
307
+ },
308
+ "500": {
309
+ "description": "Internal server error"
310
+ }
311
+ }
312
+ },
313
+ "delete": {
314
+ "operationId": "deleteEnvironmentVariable",
315
+ "summary": "deleteEnvironmentVariable",
316
+ "description": "Delete an environment variable by key.",
317
+ "tags": [
318
+ "environments"
319
+ ],
320
+ "responses": {
321
+ "204": {
322
+ "description": "Environment variable deleted"
323
+ },
324
+ "401": {
325
+ "description": "Unauthorized"
326
+ },
327
+ "403": {
328
+ "description": "Forbidden"
329
+ },
330
+ "404": {
331
+ "description": "Environment variable not found"
332
+ },
333
+ "500": {
334
+ "description": "Internal server error"
335
+ }
336
+ }
337
+ }
338
+ }
339
+ },
340
+ "components": {
341
+ "securitySchemes": {
342
+ "EpilotAuth": {
343
+ "type": "http",
344
+ "scheme": "bearer",
345
+ "bearerFormat": "JWT"
346
+ }
347
+ },
348
+ "schemas": {
349
+ "EnvironmentValueType": {
350
+ "type": "string",
351
+ "description": "The structure a variable's value holds. `SecretString` is encrypted at rest and\nits value is never returned. `Text`, `Number`, `Boolean`, `Map`, `JSON` and `Link`\nmay be served to browser-facing consumers; `String` and `SecretString` may not.\n",
352
+ "enum": [
353
+ "String",
354
+ "SecretString",
355
+ "Text",
356
+ "Number",
357
+ "Boolean",
358
+ "Map",
359
+ "JSON",
360
+ "Link"
361
+ ]
362
+ },
363
+ "StringTranslations": {
364
+ "description": "A string translated per language. Keys are language codes (e.g. `de`,\n`en-US`), matching the hyphen-only BCP-47 form epilot's i18n stack uses\neverywhere else: `^[a-z]{2,3}(-[A-Za-z0-9]+)*$`. The server enforces\nthat with LANGUAGE_KEY_PATTERN in src/core/value-types.ts — the two are\nnot otherwise linked. The pattern is documented rather than declared\nbecause `propertyNames` is JSON Schema / OAS 3.1 and this document is\n3.0.3, where it fails `spectral lint` (oas3-schema).\n",
365
+ "type": "object",
366
+ "minProperties": 1,
367
+ "additionalProperties": {
368
+ "type": "string",
369
+ "minLength": 1
370
+ }
371
+ },
372
+ "MapEntry": {
373
+ "description": "One entry of a Map. `key` is the token a journey submits; `value` is\nwhat the customer reads — either one string, or one string per\nlanguage. Every entry of a Map must agree on which of the two it uses.\n",
374
+ "type": "object",
375
+ "required": [
376
+ "key",
377
+ "value"
378
+ ],
379
+ "additionalProperties": false,
380
+ "properties": {
381
+ "key": {
382
+ "type": "string",
383
+ "minLength": 1
384
+ },
385
+ "value": {
386
+ "oneOf": [
387
+ {
388
+ "type": "string",
389
+ "minLength": 1
390
+ },
391
+ {
392
+ "$ref": "#/components/schemas/StringTranslations"
393
+ }
394
+ ]
395
+ }
396
+ }
397
+ },
398
+ "MapValue": {
399
+ "type": "object",
400
+ "required": [
401
+ "options"
402
+ ],
403
+ "additionalProperties": false,
404
+ "properties": {
405
+ "fallbackLanguage": {
406
+ "type": "string",
407
+ "minLength": 2,
408
+ "default": "de"
409
+ },
410
+ "options": {
411
+ "type": "array",
412
+ "minItems": 1,
413
+ "items": {
414
+ "$ref": "#/components/schemas/MapEntry"
415
+ }
416
+ }
417
+ }
418
+ },
419
+ "JsonValue": {
420
+ "description": "Arbitrary JSON object, e.g. a flat key/value map used by integrations for\nenum translation: {\"Mr.\": 1, \"Ms. / Mrs.\": 2}. Max 32 KB serialised.\n",
421
+ "type": "object",
422
+ "additionalProperties": true
423
+ },
424
+ "LinkValue": {
425
+ "description": "One URL with a label and description a customer reads. `label` and\n`description` are each either a plain string or one string per language;\nthe two fields decide that independently — a plain string means \"the\nsame in every language\". A translated field must carry the fallback\nlanguage.\n\nThe URL must be absolute and `http`/`https` only. This value is served\nto browser-facing consumers, so `javascript:` and `data:` URLs are\nrejected at write time.\n\nWritten flat rather than composed from a shared field set: `allOf` plus\n`additionalProperties: false` is rejected by most validators, because\neach branch sees the sibling's properties as unknown. The composition\nlives in zod (LinkFieldsSchema) — see src/core/value-types.ts.\n\nEach translated value of `label` and `description` is also limited to\nthe same maximum as the plain-string form above — 255 characters for\n`label`, 1024 for `description`. The limit is enforced by the server\neven though the shared `StringTranslations` schema referenced below\ndoes not itself declare it.\n",
426
+ "type": "object",
427
+ "required": [
428
+ "url",
429
+ "label"
430
+ ],
431
+ "additionalProperties": false,
432
+ "properties": {
433
+ "url": {
434
+ "type": "string",
435
+ "minLength": 1,
436
+ "maxLength": 2048
437
+ },
438
+ "label": {
439
+ "oneOf": [
440
+ {
441
+ "type": "string",
442
+ "minLength": 1,
443
+ "maxLength": 255
444
+ },
445
+ {
446
+ "$ref": "#/components/schemas/StringTranslations"
447
+ }
448
+ ]
449
+ },
450
+ "description": {
451
+ "oneOf": [
452
+ {
453
+ "type": "string",
454
+ "minLength": 1,
455
+ "maxLength": 1024
456
+ },
457
+ {
458
+ "$ref": "#/components/schemas/StringTranslations"
459
+ }
460
+ ]
461
+ },
462
+ "fallbackLanguage": {
463
+ "type": "string",
464
+ "minLength": 2,
465
+ "default": "de"
466
+ }
467
+ }
468
+ },
469
+ "EnvironmentValue": {
470
+ "description": "A variable's value. The JSON type corresponds to the variable's `type`:\n`String`, `SecretString` and `Text` are strings, `Number` is a number,\n`Boolean` is a boolean, and `Map`, `JSON` and `Link` are objects. Numbers are\nIEEE 754 doubles; integers above 2^53 may lose precision on round-trip.\n",
471
+ "anyOf": [
472
+ {
473
+ "type": "string"
474
+ },
475
+ {
476
+ "type": "number"
477
+ },
478
+ {
479
+ "type": "boolean"
480
+ },
481
+ {
482
+ "$ref": "#/components/schemas/MapValue"
483
+ },
484
+ {
485
+ "$ref": "#/components/schemas/JsonValue"
486
+ },
487
+ {
488
+ "$ref": "#/components/schemas/LinkValue"
489
+ }
490
+ ]
491
+ },
492
+ "EnvironmentVariable": {
493
+ "type": "object",
494
+ "required": [
495
+ "key",
496
+ "type",
497
+ "created_at",
498
+ "updated_at"
499
+ ],
500
+ "properties": {
501
+ "key": {
502
+ "type": "string",
503
+ "pattern": "^[a-z0-9][a-z0-9_.\\-]{0,127}$"
504
+ },
505
+ "type": {
506
+ "$ref": "#/components/schemas/EnvironmentValueType"
507
+ },
508
+ "description": {
509
+ "type": "string"
510
+ },
511
+ "group": {
512
+ "type": "string",
513
+ "description": "Optional group name for organising variables in the UI"
514
+ },
515
+ "value": {
516
+ "allOf": [
517
+ {
518
+ "$ref": "#/components/schemas/EnvironmentValue"
519
+ }
520
+ ],
521
+ "description": "Returned for non-secret types, omitted for SecretString. Also omitted when\nthe variable has been created without a value — for example by a blueprint\ninstall, which syncs a variable's key and type but never its value.\n"
522
+ },
523
+ "protected": {
524
+ "type": "boolean",
525
+ "description": "Whether the variable is protected from editing"
526
+ },
527
+ "created_at": {
528
+ "type": "string",
529
+ "format": "date-time"
530
+ },
531
+ "updated_at": {
532
+ "type": "string",
533
+ "format": "date-time"
534
+ }
535
+ }
536
+ },
537
+ "EnvironmentVariableListItem": {
538
+ "type": "object",
539
+ "required": [
540
+ "key",
541
+ "type",
542
+ "created_at",
543
+ "updated_at"
544
+ ],
545
+ "properties": {
546
+ "key": {
547
+ "type": "string"
548
+ },
549
+ "type": {
550
+ "$ref": "#/components/schemas/EnvironmentValueType"
551
+ },
552
+ "description": {
553
+ "type": "string"
554
+ },
555
+ "group": {
556
+ "type": "string",
557
+ "description": "Optional group name for organising variables in the UI"
558
+ },
559
+ "value": {
560
+ "allOf": [
561
+ {
562
+ "$ref": "#/components/schemas/EnvironmentValue"
563
+ }
564
+ ],
565
+ "description": "Returned for non-secret types, omitted for SecretString. Also omitted when\nthe variable has been created without a value — for example by a blueprint\ninstall, which syncs a variable's key and type but never its value.\n"
566
+ },
567
+ "protected": {
568
+ "type": "boolean",
569
+ "description": "Whether the variable is protected from editing"
570
+ },
571
+ "created_at": {
572
+ "type": "string",
573
+ "format": "date-time"
574
+ },
575
+ "updated_at": {
576
+ "type": "string",
577
+ "format": "date-time"
578
+ }
579
+ }
580
+ },
581
+ "EnvironmentVariableList": {
582
+ "type": "object",
583
+ "required": [
584
+ "items"
585
+ ],
586
+ "properties": {
587
+ "items": {
588
+ "type": "array",
589
+ "items": {
590
+ "$ref": "#/components/schemas/EnvironmentVariableListItem"
591
+ }
592
+ }
593
+ }
594
+ },
595
+ "EnvironmentVariableCreateRequest": {
596
+ "type": "object",
597
+ "required": [
598
+ "key",
599
+ "type"
600
+ ],
601
+ "properties": {
602
+ "key": {
603
+ "type": "string",
604
+ "pattern": "^[a-z0-9][a-z0-9_.\\-]{0,127}$"
605
+ },
606
+ "type": {
607
+ "$ref": "#/components/schemas/EnvironmentValueType"
608
+ },
609
+ "description": {
610
+ "type": "string"
611
+ },
612
+ "group": {
613
+ "type": "string"
614
+ },
615
+ "value": {
616
+ "$ref": "#/components/schemas/EnvironmentValue"
617
+ },
618
+ "protected": {
619
+ "type": "boolean",
620
+ "description": "Whether the variable is protected from editing"
621
+ }
622
+ }
623
+ },
624
+ "EnvironmentVariableUpdateRequest": {
625
+ "type": "object",
626
+ "properties": {
627
+ "type": {
628
+ "description": "Type of variable. Used when creating a new variable. Defaults to String.",
629
+ "allOf": [
630
+ {
631
+ "$ref": "#/components/schemas/EnvironmentValueType"
632
+ }
633
+ ]
634
+ },
635
+ "value": {
636
+ "$ref": "#/components/schemas/EnvironmentValue"
637
+ },
638
+ "description": {
639
+ "type": "string"
640
+ },
641
+ "group": {
642
+ "type": "string"
643
+ },
644
+ "protected": {
645
+ "type": "boolean",
646
+ "description": "Whether the variable is protected from editing"
647
+ }
648
+ }
649
+ },
650
+ "EnvironmentGroup": {
651
+ "type": "object",
652
+ "required": [
653
+ "name",
654
+ "created_at",
655
+ "updated_at"
656
+ ],
657
+ "properties": {
658
+ "name": {
659
+ "type": "string"
660
+ },
661
+ "description": {
662
+ "type": "string"
663
+ },
664
+ "created_at": {
665
+ "type": "string",
666
+ "format": "date-time"
667
+ },
668
+ "updated_at": {
669
+ "type": "string",
670
+ "format": "date-time"
671
+ }
672
+ }
673
+ },
674
+ "EnvironmentGroupList": {
675
+ "type": "object",
676
+ "required": [
677
+ "items"
678
+ ],
679
+ "properties": {
680
+ "items": {
681
+ "type": "array",
682
+ "items": {
683
+ "$ref": "#/components/schemas/EnvironmentGroup"
684
+ }
685
+ }
686
+ }
687
+ },
688
+ "EnvironmentGroupUpsertRequest": {
689
+ "type": "object",
690
+ "properties": {
691
+ "description": {
692
+ "type": "string"
693
+ }
694
+ }
695
+ }
696
+ }
697
+ },
698
+ "servers": [
699
+ {
700
+ "url": "https://environments.sls.epilot.io"
701
+ }
702
+ ]
703
+ }