@shipeasy/openapi 2.1.0 → 2.2.0

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 (41) hide show
  1. package/dist/{chunk-EPLLHLZN.js → chunk-643YSMLU.js} +1 -1
  2. package/dist/{chunk-EPLLHLZN.js.map → chunk-643YSMLU.js.map} +1 -1
  3. package/dist/{chunk-SPH5HWCD.js → chunk-MRW3DJ57.js} +147 -88
  4. package/dist/chunk-MRW3DJ57.js.map +1 -0
  5. package/dist/{client-pVkoo3Bf.d.ts → client-K0ShmsC7.d.ts} +196 -98
  6. package/dist/client.d.ts +1 -1
  7. package/dist/client.js +1 -1
  8. package/dist/custom.d.ts +23 -1
  9. package/dist/custom.js +8 -0
  10. package/dist/custom.js.map +1 -1
  11. package/dist/index.d.ts +2 -2
  12. package/dist/index.js +2 -2
  13. package/dist/schemas.d.ts +85 -32
  14. package/dist/schemas.js +17 -1
  15. package/openapi.json +533 -96
  16. package/openapi.yaml +390 -92
  17. package/package.json +1 -1
  18. package/spec/components/parameters.yaml +8 -0
  19. package/spec/components/responses.yaml +15 -0
  20. package/spec/components/schemas/common.yaml +5 -0
  21. package/spec/components/schemas/connectors.yaml +5 -11
  22. package/spec/components/schemas/gate-templates.yaml +41 -2
  23. package/spec/components/schemas/ops.yaml +4 -2
  24. package/spec/openapi.yaml +21 -2
  25. package/spec/paths/alert-rules.yaml +10 -2
  26. package/spec/paths/attributes.yaml +14 -3
  27. package/spec/paths/configs.yaml +23 -9
  28. package/spec/paths/connectors.yaml +42 -8
  29. package/spec/paths/errors.yaml +4 -4
  30. package/spec/paths/events.yaml +18 -4
  31. package/spec/paths/experiments.yaml +37 -11
  32. package/spec/paths/gate-templates.yaml +9 -5
  33. package/spec/paths/gates.yaml +20 -6
  34. package/spec/paths/i18n.yaml +18 -5
  35. package/spec/paths/keys.yaml +2 -1
  36. package/spec/paths/killswitches.yaml +23 -6
  37. package/spec/paths/metrics.yaml +14 -3
  38. package/spec/paths/ops.yaml +3 -3
  39. package/spec/paths/projects.yaml +1 -1
  40. package/spec/paths/universes.yaml +10 -2
  41. package/dist/chunk-SPH5HWCD.js.map +0 -1
@@ -12,6 +12,13 @@
12
12
  - $ref: ../components/parameters.yaml#/ProjectId
13
13
  - $ref: ../components/parameters.yaml#/PaginationLimit
14
14
  - $ref: ../components/parameters.yaml#/PaginationCursor
15
+ - name: status
16
+ in: query
17
+ required: false
18
+ description: Filter by lifecycle status. Pass `archived` to return the archive tab; any other value (or omitting it) returns the non-archived experiments.
19
+ schema:
20
+ type: string
21
+ - $ref: ../components/parameters.yaml#/Q
15
22
  responses:
16
23
  "200":
17
24
  description: List experiments
@@ -159,6 +166,25 @@
159
166
  example:
160
167
  id: exp_01j7wb12c3d4e5f6g7h8j9k0l1
161
168
  name: checkout_button_color
169
+ links:
170
+ GetExperiment:
171
+ operationId: getExperiment
172
+ parameters: { id: $response.body#/id }
173
+ UpdateExperiment:
174
+ operationId: updateExperiment
175
+ parameters: { id: $response.body#/id }
176
+ SetExperimentMetrics:
177
+ operationId: setExperimentMetrics
178
+ parameters: { id: $response.body#/id }
179
+ SetExperimentStatus:
180
+ operationId: setExperimentStatus
181
+ parameters: { id: $response.body#/id }
182
+ ReanalyzeExperiment:
183
+ operationId: reanalyzeExperiment
184
+ parameters: { id: $response.body#/id }
185
+ DeleteExperiment:
186
+ operationId: deleteExperiment
187
+ parameters: { id: $response.body#/id }
162
188
  "400":
163
189
  $ref: ../components/responses.yaml#/BadRequest
164
190
  "401":
@@ -201,7 +227,7 @@
201
227
  required: true
202
228
  description: Stable opaque experiment id (`exp_…`) or the experiment's `name`.
203
229
  schema:
204
- type: string
230
+ $ref: ../components/schemas/common.yaml#/ResourceId
205
231
  responses:
206
232
  "200":
207
233
  description: Get one experiment
@@ -281,7 +307,7 @@
281
307
  required: true
282
308
  description: Stable opaque experiment id (`exp_…`) or the experiment's `name`.
283
309
  schema:
284
- type: string
310
+ $ref: ../components/schemas/common.yaml#/ResourceId
285
311
  requestBody:
286
312
  required: true
287
313
  content:
@@ -366,7 +392,7 @@
366
392
  required: true
367
393
  description: Stable opaque experiment id (`exp_…`) or the experiment's `name`.
368
394
  schema:
369
- type: string
395
+ $ref: ../components/schemas/common.yaml#/ResourceId
370
396
  responses:
371
397
  "200":
372
398
  description: Delete an experiment
@@ -427,7 +453,7 @@
427
453
  required: true
428
454
  description: Stable opaque experiment id (`exp_…`) or the experiment's `name`.
429
455
  schema:
430
- type: string
456
+ $ref: ../components/schemas/common.yaml#/ResourceId
431
457
  requestBody:
432
458
  required: true
433
459
  content:
@@ -456,7 +482,7 @@
456
482
  value:
457
483
  status: draft
458
484
  responses:
459
- "201":
485
+ "200":
460
486
  description: Transition experiment status
461
487
  content:
462
488
  application/json:
@@ -522,7 +548,7 @@
522
548
  required: true
523
549
  description: Stable opaque experiment id (`exp_…`) or the experiment's `name`.
524
550
  schema:
525
- type: string
551
+ $ref: ../components/schemas/common.yaml#/ResourceId
526
552
  requestBody:
527
553
  required: true
528
554
  content:
@@ -545,7 +571,7 @@
545
571
  value:
546
572
  metrics: []
547
573
  responses:
548
- "201":
574
+ "200":
549
575
  description: Attach metrics
550
576
  content:
551
577
  application/json:
@@ -599,7 +625,7 @@
599
625
  required: true
600
626
  description: Stable opaque experiment id (`exp_…`) or the experiment's `name`.
601
627
  schema:
602
- type: string
628
+ $ref: ../components/schemas/common.yaml#/ResourceId
603
629
  responses:
604
630
  "200":
605
631
  description: Get analysis results
@@ -668,7 +694,7 @@
668
694
  required: true
669
695
  description: Stable opaque experiment id (`exp_…`) or the experiment's `name`.
670
696
  schema:
671
- type: string
697
+ $ref: ../components/schemas/common.yaml#/ResourceId
672
698
  - name: metric
673
699
  in: query
674
700
  required: false
@@ -742,9 +768,9 @@
742
768
  required: true
743
769
  description: Stable opaque experiment id (`exp_…`) or the experiment's `name`.
744
770
  schema:
745
- type: string
771
+ $ref: ../components/schemas/common.yaml#/ResourceId
746
772
  responses:
747
- "201":
773
+ "200":
748
774
  description: Re-queue analysis
749
775
  content:
750
776
  application/json:
@@ -5,17 +5,19 @@
5
5
  description: |-
6
6
  Returns the merged targeting-rule template catalog — read-only **built-ins first** (the `@team`/`@owner` audience aliases, country, email-domain, region presets, …), then this project's **customer** templates. Each item carries a `rules: [{ attr, op, value }]` definition; the alias templates carry a symbol value (`email in ["@team"]`) that the SDK expands to the resolved email list at rebuild.
7
7
 
8
- **Turn "launch X in country Y" into a gated flag:** list templates (optionally with `query`), take the matching template's `rules`, substitute the concrete value(s), and pass them as the `rules` arg of `release_flags_create`.
8
+ **Turn "launch X in country Y" into a gated flag:** list templates (optionally with `q`), take the matching template's `rules`, substitute the concrete value(s), and pass them as the `rules` arg of `release_flags_create`.
9
9
 
10
10
  The catalog is small and bounded, so the full merged set is returned in one page — this endpoint is **not** paginated (`next_cursor` is always `null`; there are no `limit`/`cursor` params).
11
11
  tags:
12
12
  - Templates
13
13
  parameters:
14
14
  - $ref: ../components/parameters.yaml#/ProjectId
15
+ - $ref: ../components/parameters.yaml#/Q
15
16
  - name: query
16
17
  in: query
17
18
  required: false
18
- description: Case-insensitive substring filter over each template's `name` + `description`. Omit to return the whole catalog.
19
+ deprecated: true
20
+ description: Deprecated alias for `q`, kept working for one release. Prefer `q`.
19
21
  schema:
20
22
  type: string
21
23
  responses:
@@ -128,7 +130,7 @@
128
130
  required: true
129
131
  description: Built-in slug (`country`) or customer template id (`gtpl_…`).
130
132
  schema:
131
- type: string
133
+ $ref: ../components/schemas/common.yaml#/ResourceId
132
134
  responses:
133
135
  "200":
134
136
  description: Get one gate template
@@ -167,7 +169,7 @@
167
169
  required: true
168
170
  description: Customer template id (`gtpl_…`) or its `name`.
169
171
  schema:
170
- type: string
172
+ $ref: ../components/schemas/common.yaml#/ResourceId
171
173
  requestBody:
172
174
  required: true
173
175
  content:
@@ -231,7 +233,7 @@
231
233
  required: true
232
234
  description: Customer template id (`gtpl_…`) or its `name`.
233
235
  schema:
234
- type: string
236
+ $ref: ../components/schemas/common.yaml#/ResourceId
235
237
  responses:
236
238
  "200":
237
239
  description: Delete a gate template
@@ -251,6 +253,8 @@
251
253
  $ref: ../components/responses.yaml#/NotFound
252
254
  "409":
253
255
  $ref: ../components/responses.yaml#/Conflict
256
+ "422":
257
+ $ref: ../components/responses.yaml#/UnprocessableEntity
254
258
  x-error-codes:
255
259
  - BAD_REQUEST
256
260
  - UNAUTHORIZED
@@ -12,6 +12,7 @@
12
12
  - $ref: ../components/parameters.yaml#/ProjectId
13
13
  - $ref: ../components/parameters.yaml#/PaginationLimit
14
14
  - $ref: ../components/parameters.yaml#/PaginationCursor
15
+ - $ref: ../components/parameters.yaml#/Q
15
16
  responses:
16
17
  "200":
17
18
  description: List feature gates
@@ -163,6 +164,19 @@
163
164
  example:
164
165
  id: gat_01j7w7m9q4hxbf6npe6s9zr3vc
165
166
  name: checkout_v2
167
+ links:
168
+ UpdateGate:
169
+ operationId: updateGate
170
+ parameters: { id: $response.body#/id }
171
+ EnableGate:
172
+ operationId: enableGate
173
+ parameters: { id: $response.body#/id }
174
+ DisableGate:
175
+ operationId: disableGate
176
+ parameters: { id: $response.body#/id }
177
+ DeleteGate:
178
+ operationId: deleteGate
179
+ parameters: { id: $response.body#/id }
166
180
  "400":
167
181
  $ref: ../components/responses.yaml#/BadRequest
168
182
  "401":
@@ -211,7 +225,7 @@
211
225
  required: true
212
226
  description: Stable opaque gate id (`gat_…`) or the gate's `name`.
213
227
  schema:
214
- type: string
228
+ $ref: ../components/schemas/common.yaml#/ResourceId
215
229
  requestBody:
216
230
  required: true
217
231
  content:
@@ -317,7 +331,7 @@
317
331
  required: true
318
332
  description: Stable opaque gate id (`gat_…`) or the gate's `name`.
319
333
  schema:
320
- type: string
334
+ $ref: ../components/schemas/common.yaml#/ResourceId
321
335
  responses:
322
336
  "200":
323
337
  description: Delete a feature gate
@@ -366,9 +380,9 @@
366
380
  required: true
367
381
  description: Stable opaque gate id (`gat_…`) or the gate's `name`.
368
382
  schema:
369
- type: string
383
+ $ref: ../components/schemas/common.yaml#/ResourceId
370
384
  responses:
371
- "201":
385
+ "200":
372
386
  description: Enable a gate
373
387
  content:
374
388
  application/json:
@@ -416,9 +430,9 @@
416
430
  required: true
417
431
  description: Stable opaque gate id (`gat_…`) or the gate's `name`.
418
432
  schema:
419
- type: string
433
+ $ref: ../components/schemas/common.yaml#/ResourceId
420
434
  responses:
421
- "201":
435
+ "200":
422
436
  description: Disable a gate
423
437
  content:
424
438
  application/json:
@@ -73,6 +73,10 @@
73
73
  example:
74
74
  id: i18n_01j7w8a1b2c4
75
75
  name: fr:prod
76
+ links:
77
+ PublishI18nProfile:
78
+ operationId: publishI18nProfile
79
+ parameters: { profileId: $response.body#/id }
76
80
  "400":
77
81
  $ref: ../components/responses.yaml#/BadRequest
78
82
  "401":
@@ -120,9 +124,10 @@
120
124
  - name: q
121
125
  in: query
122
126
  required: false
123
- description: Free-text search — matches keys whose name OR value contains this substring (case-insensitive). Use it to find the key behind a piece of on-screen copy.
127
+ description: Free-text search — matches keys whose name, value, OR description contains this substring (case-insensitive). Use it to find the key behind a piece of on-screen copy.
124
128
  schema:
125
129
  type: string
130
+ maxLength: 100
126
131
  - name: limit
127
132
  in: query
128
133
  required: false
@@ -131,6 +136,14 @@
131
136
  type: integer
132
137
  minimum: 1
133
138
  maximum: 500
139
+ - name: offset
140
+ in: query
141
+ required: false
142
+ description: Number of keys to skip before returning `limit` rows (offset pagination).
143
+ schema:
144
+ type: integer
145
+ minimum: 0
146
+ default: 0
134
147
  responses:
135
148
  "200":
136
149
  description: List i18n keys
@@ -235,7 +248,7 @@
235
248
  required: true
236
249
  description: The key's id.
237
250
  schema:
238
- type: string
251
+ $ref: ../components/schemas/common.yaml#/ResourceId
239
252
  requestBody:
240
253
  required: true
241
254
  content:
@@ -383,7 +396,7 @@
383
396
  required: true
384
397
  description: The draft id to update.
385
398
  schema:
386
- type: string
399
+ $ref: ../components/schemas/common.yaml#/ResourceId
387
400
  requestBody:
388
401
  required: true
389
402
  content:
@@ -441,7 +454,7 @@
441
454
  required: true
442
455
  description: The profile id to publish.
443
456
  schema:
444
- type: string
457
+ $ref: ../components/schemas/common.yaml#/ResourceId
445
458
  requestBody:
446
459
  required: true
447
460
  content:
@@ -451,7 +464,7 @@
451
464
  example:
452
465
  chunk: default
453
466
  responses:
454
- "201":
467
+ "200":
455
468
  description: Publish a profile chunk
456
469
  content:
457
470
  application/json:
@@ -14,6 +14,7 @@
14
14
  - $ref: ../components/parameters.yaml#/ProjectId
15
15
  - $ref: ../components/parameters.yaml#/PaginationLimit
16
16
  - $ref: ../components/parameters.yaml#/PaginationCursor
17
+ - $ref: ../components/parameters.yaml#/Q
17
18
  responses:
18
19
  "200":
19
20
  description: List API keys
@@ -148,7 +149,7 @@
148
149
  required: true
149
150
  description: Stable opaque key id (UUID) returned by `create` / `list`.
150
151
  schema:
151
- type: string
152
+ $ref: ../components/schemas/common.yaml#/ResourceId
152
153
  responses:
153
154
  "200":
154
155
  description: Revoke an API key
@@ -12,6 +12,7 @@
12
12
  - $ref: ../components/parameters.yaml#/ProjectId
13
13
  - $ref: ../components/parameters.yaml#/PaginationLimit
14
14
  - $ref: ../components/parameters.yaml#/PaginationCursor
15
+ - $ref: ../components/parameters.yaml#/Q
15
16
  responses:
16
17
  "200":
17
18
  description: List killswitches
@@ -114,6 +115,22 @@
114
115
  example:
115
116
  id: ksw_01j7w9d8h2k4m6n8p0q2r4s6t8
116
117
  name: payments.checkout
118
+ links:
119
+ GetKillswitch:
120
+ operationId: getKillswitch
121
+ parameters: { id: $response.body#/id }
122
+ UpdateKillswitch:
123
+ operationId: updateKillswitch
124
+ parameters: { id: $response.body#/id }
125
+ SetKillswitchSwitch:
126
+ operationId: setKillswitchSwitch
127
+ parameters: { id: $response.body#/id }
128
+ SetKillswitchValue:
129
+ operationId: setKillswitchValue
130
+ parameters: { id: $response.body#/id }
131
+ DeleteKillswitch:
132
+ operationId: deleteKillswitch
133
+ parameters: { id: $response.body#/id }
117
134
  "400":
118
135
  $ref: ../components/responses.yaml#/BadRequest
119
136
  "401":
@@ -153,7 +170,7 @@
153
170
  required: true
154
171
  description: Stable opaque killswitch id (`ksw_…`) or the killswitch's `name`.
155
172
  schema:
156
- type: string
173
+ $ref: ../components/schemas/common.yaml#/ResourceId
157
174
  responses:
158
175
  "200":
159
176
  description: Get one killswitch
@@ -225,7 +242,7 @@
225
242
  required: true
226
243
  description: Stable opaque killswitch id (`ksw_…`) or the killswitch's `name`.
227
244
  schema:
228
- type: string
245
+ $ref: ../components/schemas/common.yaml#/ResourceId
229
246
  requestBody:
230
247
  required: true
231
248
  content:
@@ -302,7 +319,7 @@
302
319
  required: true
303
320
  description: Stable opaque killswitch id (`ksw_…`) or the killswitch's `name`.
304
321
  schema:
305
- type: string
322
+ $ref: ../components/schemas/common.yaml#/ResourceId
306
323
  responses:
307
324
  "200":
308
325
  description: Delete a killswitch
@@ -355,7 +372,7 @@
355
372
  required: true
356
373
  description: Stable opaque killswitch id (`ksw_…`) or the killswitch's `name`.
357
374
  schema:
358
- type: string
375
+ $ref: ../components/schemas/common.yaml#/ResourceId
359
376
  requestBody:
360
377
  required: true
361
378
  content:
@@ -429,7 +446,7 @@
429
446
  required: true
430
447
  description: Stable opaque killswitch id (`ksw_…`) or the killswitch's `name`.
431
448
  schema:
432
- type: string
449
+ $ref: ../components/schemas/common.yaml#/ResourceId
433
450
  requestBody:
434
451
  required: true
435
452
  content:
@@ -498,7 +515,7 @@
498
515
  required: true
499
516
  description: Stable opaque killswitch id (`ksw_…`) or the killswitch's `name`.
500
517
  schema:
501
- type: string
518
+ $ref: ../components/schemas/common.yaml#/ResourceId
502
519
  requestBody:
503
520
  required: true
504
521
  content:
@@ -10,6 +10,7 @@
10
10
  - Metrics
11
11
  parameters:
12
12
  - $ref: ../components/parameters.yaml#/ProjectId
13
+ - $ref: ../components/parameters.yaml#/Q
13
14
  responses:
14
15
  "200":
15
16
  description: List metrics
@@ -110,6 +111,16 @@
110
111
  example:
111
112
  id: met_01j7w8a1b2c3d4e5f6g7h8i9j0
112
113
  name: checkouts
114
+ links:
115
+ GetMetric:
116
+ operationId: getMetric
117
+ parameters: { id: $response.body#/id }
118
+ UpdateMetric:
119
+ operationId: updateMetric
120
+ parameters: { id: $response.body#/id }
121
+ DeleteMetric:
122
+ operationId: deleteMetric
123
+ parameters: { id: $response.body#/id }
113
124
  "400":
114
125
  $ref: ../components/responses.yaml#/BadRequest
115
126
  "401":
@@ -151,7 +162,7 @@
151
162
  required: true
152
163
  description: Stable opaque metric id (`met_…`) or the metric's `name`.
153
164
  schema:
154
- type: string
165
+ $ref: ../components/schemas/common.yaml#/ResourceId
155
166
  responses:
156
167
  "200":
157
168
  description: Get a metric
@@ -209,7 +220,7 @@
209
220
  required: true
210
221
  description: Stable opaque metric id (`met_…`) or the metric's `name`.
211
222
  schema:
212
- type: string
223
+ $ref: ../components/schemas/common.yaml#/ResourceId
213
224
  requestBody:
214
225
  required: true
215
226
  content:
@@ -268,7 +279,7 @@
268
279
  required: true
269
280
  description: Stable opaque metric id (`met_…`) or the metric's `name`.
270
281
  schema:
271
- type: string
282
+ $ref: ../components/schemas/common.yaml#/ResourceId
272
283
  responses:
273
284
  "200":
274
285
  description: Archive a metric
@@ -176,7 +176,7 @@
176
176
  required: true
177
177
  description: Per-project item number (e.g. `7`) or the full ops item id.
178
178
  schema:
179
- type: string
179
+ $ref: ../components/schemas/common.yaml#/ResourceId
180
180
  responses:
181
181
  "200":
182
182
  description: Get one queue item
@@ -235,7 +235,7 @@
235
235
  required: true
236
236
  description: Per-project item number (e.g. `7`) or the full ops item id.
237
237
  schema:
238
- type: string
238
+ $ref: ../components/schemas/common.yaml#/ResourceId
239
239
  requestBody:
240
240
  required: true
241
241
  content:
@@ -303,7 +303,7 @@
303
303
  required: true
304
304
  description: Per-project item number (e.g. `7`) or the full ops item id.
305
305
  schema:
306
- type: string
306
+ $ref: ../components/schemas/common.yaml#/ResourceId
307
307
  requestBody:
308
308
  required: true
309
309
  content:
@@ -144,7 +144,7 @@
144
144
  required: true
145
145
  description: Stable opaque project id. Must match the caller's own project.
146
146
  schema:
147
- type: string
147
+ $ref: ../components/schemas/common.yaml#/ResourceId
148
148
  requestBody:
149
149
  required: true
150
150
  content:
@@ -12,6 +12,7 @@
12
12
  - $ref: ../components/parameters.yaml#/ProjectId
13
13
  - $ref: ../components/parameters.yaml#/PaginationLimit
14
14
  - $ref: ../components/parameters.yaml#/PaginationCursor
15
+ - $ref: ../components/parameters.yaml#/Q
15
16
  responses:
16
17
  "200":
17
18
  description: List universes
@@ -100,6 +101,13 @@
100
101
  example:
101
102
  id: uni_01j7w8a1b2c3d4e5f6g7h8i9j0
102
103
  name: primary_users
104
+ links:
105
+ UpdateUniverse:
106
+ operationId: updateUniverse
107
+ parameters: { id: $response.body#/id }
108
+ DeleteUniverse:
109
+ operationId: deleteUniverse
110
+ parameters: { id: $response.body#/id }
103
111
  "400":
104
112
  $ref: ../components/responses.yaml#/BadRequest
105
113
  "401":
@@ -145,7 +153,7 @@
145
153
  required: true
146
154
  description: Stable opaque universe id (`uni_…`) or the universe's `name`.
147
155
  schema:
148
- type: string
156
+ $ref: ../components/schemas/common.yaml#/ResourceId
149
157
  requestBody:
150
158
  required: true
151
159
  content:
@@ -213,7 +221,7 @@
213
221
  required: true
214
222
  description: Stable opaque universe id (`uni_…`) or the universe's `name`.
215
223
  schema:
216
- type: string
224
+ $ref: ../components/schemas/common.yaml#/ResourceId
217
225
  responses:
218
226
  "200":
219
227
  description: Delete a universe