@shipeasy/openapi 2.1.0 → 2.3.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.
- package/dist/{chunk-EPLLHLZN.js → chunk-LYNWK55D.js} +23 -1
- package/dist/chunk-LYNWK55D.js.map +1 -0
- package/dist/{chunk-SPH5HWCD.js → chunk-PRN4AEAM.js} +396 -187
- package/dist/chunk-PRN4AEAM.js.map +1 -0
- package/dist/{client-pVkoo3Bf.d.ts → client-DO5HTb_L.d.ts} +886 -241
- package/dist/client.d.ts +1 -1
- package/dist/client.js +7 -1
- package/dist/custom.d.ts +23 -1
- package/dist/custom.js +12 -4
- package/dist/custom.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/schemas.d.ts +770 -104
- package/dist/schemas.js +57 -5
- package/openapi.json +2177 -775
- package/openapi.yaml +1373 -409
- package/package.json +1 -1
- package/spec/components/errors.yaml +30 -1
- package/spec/components/parameters.yaml +8 -0
- package/spec/components/responses.yaml +15 -0
- package/spec/components/schemas/common.yaml +11 -0
- package/spec/components/schemas/connectors.yaml +5 -11
- package/spec/components/schemas/errors-api.yaml +66 -3
- package/spec/components/schemas/experiment-api-row.yaml +293 -0
- package/spec/components/schemas/experiments.yaml +54 -299
- package/spec/components/schemas/gate-templates.yaml +41 -2
- package/spec/components/schemas/gates.yaml +19 -0
- package/spec/components/schemas/keys.yaml +2 -1
- package/spec/components/schemas/metrics.yaml +17 -17
- package/spec/components/schemas/ops.yaml +105 -2
- package/spec/components/schemas/projects.yaml +119 -1
- package/spec/components/schemas/universes.yaml +83 -1
- package/spec/openapi.yaml +35 -2
- package/spec/paths/alert-rules.yaml +11 -2
- package/spec/paths/attributes.yaml +14 -3
- package/spec/paths/configs.yaml +24 -9
- package/spec/paths/connectors.yaml +42 -8
- package/spec/paths/errors.yaml +100 -6
- package/spec/paths/events.yaml +19 -4
- package/spec/paths/experiments.yaml +45 -11
- package/spec/paths/gate-templates.yaml +9 -5
- package/spec/paths/gates.yaml +21 -6
- package/spec/paths/i18n.yaml +18 -5
- package/spec/paths/keys.yaml +3 -1
- package/spec/paths/killswitches.yaml +24 -6
- package/spec/paths/metrics.yaml +15 -3
- package/spec/paths/ops.yaml +114 -3
- package/spec/paths/projects.yaml +3 -3
- package/spec/paths/universes.yaml +11 -2
- package/dist/chunk-EPLLHLZN.js.map +0 -1
- package/dist/chunk-SPH5HWCD.js.map +0 -1
package/spec/paths/gates.yaml
CHANGED
|
@@ -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":
|
|
@@ -181,6 +195,7 @@
|
|
|
181
195
|
- FORBIDDEN
|
|
182
196
|
- ALREADY_EXISTS
|
|
183
197
|
- VALIDATION
|
|
198
|
+
- PLAN_LIMIT
|
|
184
199
|
x-cli:
|
|
185
200
|
name: create
|
|
186
201
|
positional:
|
|
@@ -211,7 +226,7 @@
|
|
|
211
226
|
required: true
|
|
212
227
|
description: Stable opaque gate id (`gat_…`) or the gate's `name`.
|
|
213
228
|
schema:
|
|
214
|
-
|
|
229
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
215
230
|
requestBody:
|
|
216
231
|
required: true
|
|
217
232
|
content:
|
|
@@ -317,7 +332,7 @@
|
|
|
317
332
|
required: true
|
|
318
333
|
description: Stable opaque gate id (`gat_…`) or the gate's `name`.
|
|
319
334
|
schema:
|
|
320
|
-
|
|
335
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
321
336
|
responses:
|
|
322
337
|
"200":
|
|
323
338
|
description: Delete a feature gate
|
|
@@ -366,9 +381,9 @@
|
|
|
366
381
|
required: true
|
|
367
382
|
description: Stable opaque gate id (`gat_…`) or the gate's `name`.
|
|
368
383
|
schema:
|
|
369
|
-
|
|
384
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
370
385
|
responses:
|
|
371
|
-
"
|
|
386
|
+
"200":
|
|
372
387
|
description: Enable a gate
|
|
373
388
|
content:
|
|
374
389
|
application/json:
|
|
@@ -416,9 +431,9 @@
|
|
|
416
431
|
required: true
|
|
417
432
|
description: Stable opaque gate id (`gat_…`) or the gate's `name`.
|
|
418
433
|
schema:
|
|
419
|
-
|
|
434
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
420
435
|
responses:
|
|
421
|
-
"
|
|
436
|
+
"200":
|
|
422
437
|
description: Disable a gate
|
|
423
438
|
content:
|
|
424
439
|
application/json:
|
package/spec/paths/i18n.yaml
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
"
|
|
467
|
+
"200":
|
|
455
468
|
description: Publish a profile chunk
|
|
456
469
|
content:
|
|
457
470
|
application/json:
|
package/spec/paths/keys.yaml
CHANGED
|
@@ -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
|
|
@@ -127,6 +128,7 @@
|
|
|
127
128
|
- UNAUTHORIZED
|
|
128
129
|
- FORBIDDEN
|
|
129
130
|
- VALIDATION
|
|
131
|
+
- PLAN_LIMIT
|
|
130
132
|
x-cli:
|
|
131
133
|
name: create
|
|
132
134
|
/api/admin/keys/{id}/revoke:
|
|
@@ -148,7 +150,7 @@
|
|
|
148
150
|
required: true
|
|
149
151
|
description: Stable opaque key id (UUID) returned by `create` / `list`.
|
|
150
152
|
schema:
|
|
151
|
-
|
|
153
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
152
154
|
responses:
|
|
153
155
|
"200":
|
|
154
156
|
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":
|
|
@@ -132,6 +149,7 @@
|
|
|
132
149
|
- FORBIDDEN
|
|
133
150
|
- ALREADY_EXISTS
|
|
134
151
|
- VALIDATION
|
|
152
|
+
- PLAN_LIMIT
|
|
135
153
|
x-cli:
|
|
136
154
|
name: create
|
|
137
155
|
positional:
|
|
@@ -153,7 +171,7 @@
|
|
|
153
171
|
required: true
|
|
154
172
|
description: Stable opaque killswitch id (`ksw_…`) or the killswitch's `name`.
|
|
155
173
|
schema:
|
|
156
|
-
|
|
174
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
157
175
|
responses:
|
|
158
176
|
"200":
|
|
159
177
|
description: Get one killswitch
|
|
@@ -225,7 +243,7 @@
|
|
|
225
243
|
required: true
|
|
226
244
|
description: Stable opaque killswitch id (`ksw_…`) or the killswitch's `name`.
|
|
227
245
|
schema:
|
|
228
|
-
|
|
246
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
229
247
|
requestBody:
|
|
230
248
|
required: true
|
|
231
249
|
content:
|
|
@@ -302,7 +320,7 @@
|
|
|
302
320
|
required: true
|
|
303
321
|
description: Stable opaque killswitch id (`ksw_…`) or the killswitch's `name`.
|
|
304
322
|
schema:
|
|
305
|
-
|
|
323
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
306
324
|
responses:
|
|
307
325
|
"200":
|
|
308
326
|
description: Delete a killswitch
|
|
@@ -355,7 +373,7 @@
|
|
|
355
373
|
required: true
|
|
356
374
|
description: Stable opaque killswitch id (`ksw_…`) or the killswitch's `name`.
|
|
357
375
|
schema:
|
|
358
|
-
|
|
376
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
359
377
|
requestBody:
|
|
360
378
|
required: true
|
|
361
379
|
content:
|
|
@@ -429,7 +447,7 @@
|
|
|
429
447
|
required: true
|
|
430
448
|
description: Stable opaque killswitch id (`ksw_…`) or the killswitch's `name`.
|
|
431
449
|
schema:
|
|
432
|
-
|
|
450
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
433
451
|
requestBody:
|
|
434
452
|
required: true
|
|
435
453
|
content:
|
|
@@ -498,7 +516,7 @@
|
|
|
498
516
|
required: true
|
|
499
517
|
description: Stable opaque killswitch id (`ksw_…`) or the killswitch's `name`.
|
|
500
518
|
schema:
|
|
501
|
-
|
|
519
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
502
520
|
requestBody:
|
|
503
521
|
required: true
|
|
504
522
|
content:
|
package/spec/paths/metrics.yaml
CHANGED
|
@@ -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":
|
|
@@ -130,6 +141,7 @@
|
|
|
130
141
|
- EVENT_PENDING
|
|
131
142
|
- REFERENCED_NOT_FOUND
|
|
132
143
|
- VALIDATION
|
|
144
|
+
- PLAN_LIMIT
|
|
133
145
|
x-cli:
|
|
134
146
|
name: create
|
|
135
147
|
positional:
|
|
@@ -151,7 +163,7 @@
|
|
|
151
163
|
required: true
|
|
152
164
|
description: Stable opaque metric id (`met_…`) or the metric's `name`.
|
|
153
165
|
schema:
|
|
154
|
-
|
|
166
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
155
167
|
responses:
|
|
156
168
|
"200":
|
|
157
169
|
description: Get a metric
|
|
@@ -209,7 +221,7 @@
|
|
|
209
221
|
required: true
|
|
210
222
|
description: Stable opaque metric id (`met_…`) or the metric's `name`.
|
|
211
223
|
schema:
|
|
212
|
-
|
|
224
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
213
225
|
requestBody:
|
|
214
226
|
required: true
|
|
215
227
|
content:
|
|
@@ -268,7 +280,7 @@
|
|
|
268
280
|
required: true
|
|
269
281
|
description: Stable opaque metric id (`met_…`) or the metric's `name`.
|
|
270
282
|
schema:
|
|
271
|
-
|
|
283
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
272
284
|
responses:
|
|
273
285
|
"200":
|
|
274
286
|
description: Archive a metric
|
package/spec/paths/ops.yaml
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
306
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
307
307
|
requestBody:
|
|
308
308
|
required: true
|
|
309
309
|
content:
|
|
@@ -344,6 +344,117 @@
|
|
|
344
344
|
name: link-pr
|
|
345
345
|
positional:
|
|
346
346
|
- handle
|
|
347
|
+
/api/admin/ops/{handle}/comments:
|
|
348
|
+
get:
|
|
349
|
+
operationId: listOpsComments
|
|
350
|
+
summary: List an item's comments
|
|
351
|
+
description: |-
|
|
352
|
+
List the comment thread on a queue item, oldest first. Each comment
|
|
353
|
+
carries its author (a teammate email, or `system` for a comment authored by
|
|
354
|
+
Jarvis — the AI agent), its markdown body, and `parentId` for the single
|
|
355
|
+
level of threaded replies. Removed comments are omitted.
|
|
356
|
+
|
|
357
|
+
**Use case:** Read the discussion on an item before replying or acting on it.
|
|
358
|
+
tags:
|
|
359
|
+
- Comments
|
|
360
|
+
parameters:
|
|
361
|
+
- $ref: ../components/parameters.yaml#/ProjectId
|
|
362
|
+
- name: handle
|
|
363
|
+
in: path
|
|
364
|
+
required: true
|
|
365
|
+
description: Per-project item number (e.g. `7`) or the full ops item id.
|
|
366
|
+
schema:
|
|
367
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
368
|
+
responses:
|
|
369
|
+
"200":
|
|
370
|
+
description: List an item's comments
|
|
371
|
+
content:
|
|
372
|
+
application/json:
|
|
373
|
+
schema:
|
|
374
|
+
$ref: ../components/schemas/ops.yaml#/ListOpsCommentsResponse
|
|
375
|
+
"400":
|
|
376
|
+
$ref: ../components/responses.yaml#/BadRequest
|
|
377
|
+
"401":
|
|
378
|
+
$ref: ../components/responses.yaml#/Unauthorized
|
|
379
|
+
"403":
|
|
380
|
+
$ref: ../components/responses.yaml#/Forbidden
|
|
381
|
+
"404":
|
|
382
|
+
$ref: ../components/responses.yaml#/NotFound
|
|
383
|
+
x-error-codes:
|
|
384
|
+
- BAD_REQUEST
|
|
385
|
+
- UNAUTHORIZED
|
|
386
|
+
- FORBIDDEN
|
|
387
|
+
- NOT_FOUND
|
|
388
|
+
x-cli:
|
|
389
|
+
name: list
|
|
390
|
+
positional:
|
|
391
|
+
- handle
|
|
392
|
+
post:
|
|
393
|
+
operationId: createOpsComment
|
|
394
|
+
summary: Comment on an item
|
|
395
|
+
description: |-
|
|
396
|
+
Append a comment to a queue item's thread. The body is markdown (mentions
|
|
397
|
+
like `@teammate` notify that person; `@shipeasy` asks Jarvis, the AI agent,
|
|
398
|
+
to reply). Pass `parentId` to reply under an existing top-level comment
|
|
399
|
+
(one level of threading — a reply to a reply attaches to the same parent).
|
|
400
|
+
|
|
401
|
+
Create-only and append-only, so it is safe for restricted ops keys — the
|
|
402
|
+
same channel the ops loop and Jarvis use to leave a note on an item.
|
|
403
|
+
tags:
|
|
404
|
+
- Comments
|
|
405
|
+
parameters:
|
|
406
|
+
- $ref: ../components/parameters.yaml#/ProjectId
|
|
407
|
+
- name: handle
|
|
408
|
+
in: path
|
|
409
|
+
required: true
|
|
410
|
+
description: Per-project item number (e.g. `7`) or the full ops item id.
|
|
411
|
+
schema:
|
|
412
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
413
|
+
requestBody:
|
|
414
|
+
required: true
|
|
415
|
+
content:
|
|
416
|
+
application/json:
|
|
417
|
+
schema:
|
|
418
|
+
$ref: ../components/schemas/ops.yaml#/CreateOpsCommentRequest
|
|
419
|
+
examples:
|
|
420
|
+
comment:
|
|
421
|
+
summary: Leave a comment
|
|
422
|
+
value:
|
|
423
|
+
body: "Repro'd on iOS Safari 17 — the button overflows its container. cc @alice"
|
|
424
|
+
reply:
|
|
425
|
+
summary: Reply under an existing comment
|
|
426
|
+
value:
|
|
427
|
+
body: "Agreed, let's ship the fix behind @shipeasy's suggested flag."
|
|
428
|
+
parentId: cm_01j7w8a1b2c3d4e5f6g7h8i9j0
|
|
429
|
+
responses:
|
|
430
|
+
"201":
|
|
431
|
+
description: Comment on an item
|
|
432
|
+
content:
|
|
433
|
+
application/json:
|
|
434
|
+
schema:
|
|
435
|
+
$ref: ../components/schemas/ops.yaml#/CreateOpsCommentResponse
|
|
436
|
+
example:
|
|
437
|
+
id: cm_01j7w8a1b2c3d4e5f6g7h8i9j0
|
|
438
|
+
"400":
|
|
439
|
+
$ref: ../components/responses.yaml#/BadRequest
|
|
440
|
+
"401":
|
|
441
|
+
$ref: ../components/responses.yaml#/Unauthorized
|
|
442
|
+
"403":
|
|
443
|
+
$ref: ../components/responses.yaml#/Forbidden
|
|
444
|
+
"404":
|
|
445
|
+
$ref: ../components/responses.yaml#/NotFound
|
|
446
|
+
"422":
|
|
447
|
+
$ref: ../components/responses.yaml#/UnprocessableEntity
|
|
448
|
+
x-error-codes:
|
|
449
|
+
- BAD_REQUEST
|
|
450
|
+
- UNAUTHORIZED
|
|
451
|
+
- FORBIDDEN
|
|
452
|
+
- NOT_FOUND
|
|
453
|
+
- VALIDATION
|
|
454
|
+
x-cli:
|
|
455
|
+
name: create
|
|
456
|
+
positional:
|
|
457
|
+
- handle
|
|
347
458
|
/api/admin/notifications:
|
|
348
459
|
post:
|
|
349
460
|
operationId: notifyOps
|
package/spec/paths/projects.yaml
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
name: Acme
|
|
23
23
|
domain: acme.com
|
|
24
24
|
ownerEmail: owner@acme.com
|
|
25
|
-
plan:
|
|
25
|
+
plan: pro
|
|
26
26
|
status: active
|
|
27
27
|
subscriptionStatus: active
|
|
28
28
|
billingInterval: monthly
|
|
@@ -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
|
-
|
|
147
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
148
148
|
requestBody:
|
|
149
149
|
required: true
|
|
150
150
|
content:
|
|
@@ -172,7 +172,7 @@
|
|
|
172
172
|
name: Acme Rockets
|
|
173
173
|
domain: acme.com
|
|
174
174
|
ownerEmail: owner@acme.com
|
|
175
|
-
plan:
|
|
175
|
+
plan: pro
|
|
176
176
|
status: active
|
|
177
177
|
subscriptionStatus: active
|
|
178
178
|
billingInterval: monthly
|
|
@@ -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":
|
|
@@ -119,6 +127,7 @@
|
|
|
119
127
|
- PLAN_REQUIRED
|
|
120
128
|
- ALREADY_EXISTS
|
|
121
129
|
- VALIDATION
|
|
130
|
+
- PLAN_LIMIT
|
|
122
131
|
x-cli:
|
|
123
132
|
name: create
|
|
124
133
|
positional:
|
|
@@ -145,7 +154,7 @@
|
|
|
145
154
|
required: true
|
|
146
155
|
description: Stable opaque universe id (`uni_…`) or the universe's `name`.
|
|
147
156
|
schema:
|
|
148
|
-
|
|
157
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
149
158
|
requestBody:
|
|
150
159
|
required: true
|
|
151
160
|
content:
|
|
@@ -213,7 +222,7 @@
|
|
|
213
222
|
required: true
|
|
214
223
|
description: Stable opaque universe id (`uni_…`) or the universe's `name`.
|
|
215
224
|
schema:
|
|
216
|
-
|
|
225
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
217
226
|
responses:
|
|
218
227
|
"200":
|
|
219
228
|
description: Delete a universe
|