@shipeasy/openapi 1.6.0 → 2.1.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/README.md +37 -0
- package/dist/chunk-EPLLHLZN.js +1616 -0
- package/dist/chunk-EPLLHLZN.js.map +1 -0
- package/dist/chunk-SPH5HWCD.js +3326 -0
- package/dist/chunk-SPH5HWCD.js.map +1 -0
- package/dist/client-pVkoo3Bf.d.ts +11186 -0
- package/dist/client.d.ts +1 -0
- package/dist/client.js +215 -0
- package/dist/client.js.map +1 -0
- package/dist/custom.d.ts +64 -0
- package/dist/custom.js +292 -0
- package/dist/custom.js.map +1 -0
- package/dist/index.d.ts +29 -41
- package/dist/index.js +258 -4375
- package/dist/index.js.map +1 -0
- package/dist/node-context.d.ts +81 -33
- package/dist/node-context.js +98 -44
- package/dist/node-context.js.map +1 -0
- package/dist/schemas.d.ts +7920 -0
- package/dist/schemas.js +1083 -0
- package/dist/schemas.js.map +1 -0
- package/openapi.json +15297 -3044
- package/openapi.yaml +13979 -0
- package/package.json +33 -26
- package/spec/components/errors.yaml +53 -0
- package/spec/components/parameters.yaml +24 -0
- package/spec/components/responses.yaml +107 -0
- package/spec/components/schemas/alert-rules.yaml +175 -0
- package/spec/components/schemas/attributes.yaml +157 -0
- package/spec/components/schemas/common.yaml +87 -0
- package/spec/components/schemas/configs.yaml +371 -0
- package/spec/components/schemas/connectors.yaml +593 -0
- package/spec/components/schemas/errors-api.yaml +209 -0
- package/spec/components/schemas/events.yaml +321 -0
- package/spec/components/schemas/experiments.yaml +865 -0
- package/spec/components/schemas/gate-templates.yaml +198 -0
- package/spec/components/schemas/gates.yaml +890 -0
- package/spec/components/schemas/i18n.yaml +478 -0
- package/spec/components/schemas/keys.yaml +186 -0
- package/spec/components/schemas/killswitches.yaml +309 -0
- package/spec/components/schemas/metrics.yaml +547 -0
- package/spec/components/schemas/ops.yaml +1011 -0
- package/spec/components/schemas/projects.yaml +222 -0
- package/spec/components/schemas/search.yaml +46 -0
- package/spec/components/schemas/universes.yaml +127 -0
- package/spec/openapi.yaml +348 -0
- package/spec/paths/alert-rules.yaml +250 -0
- package/spec/paths/attributes.yaml +261 -0
- package/spec/paths/configs.yaml +744 -0
- package/spec/paths/connectors.yaml +748 -0
- package/spec/paths/errors.yaml +382 -0
- package/spec/paths/events.yaml +366 -0
- package/spec/paths/experiments.yaml +777 -0
- package/spec/paths/gate-templates.yaml +263 -0
- package/spec/paths/gates.yaml +451 -0
- package/spec/paths/i18n.yaml +544 -0
- package/spec/paths/keys.yaml +181 -0
- package/spec/paths/killswitches.yaml +557 -0
- package/spec/paths/metrics.yaml +302 -0
- package/spec/paths/ops.yaml +446 -0
- package/spec/paths/projects.yaml +210 -0
- package/spec/paths/search.yaml +62 -0
- package/spec/paths/universes.yaml +247 -0
- package/dist/operations/attributes.d.ts +0 -33
- package/dist/operations/attributes.js +0 -16
- package/dist/operations/cli-adapter.d.ts +0 -35
- package/dist/operations/cli-adapter.js +0 -91
- package/dist/operations/coerce.d.ts +0 -32
- package/dist/operations/coerce.js +0 -53
- package/dist/operations/configs.d.ts +0 -28
- package/dist/operations/configs.js +0 -119
- package/dist/operations/docs.d.ts +0 -37
- package/dist/operations/docs.js +0 -39
- package/dist/operations/events.d.ts +0 -28
- package/dist/operations/events.js +0 -121
- package/dist/operations/experiments.d.ts +0 -28
- package/dist/operations/experiments.js +0 -280
- package/dist/operations/gates.d.ts +0 -28
- package/dist/operations/gates.js +0 -132
- package/dist/operations/i18n.d.ts +0 -28
- package/dist/operations/i18n.js +0 -121
- package/dist/operations/index.d.ts +0 -63
- package/dist/operations/index.js +0 -1751
- package/dist/operations/killswitches.d.ts +0 -28
- package/dist/operations/killswitches.js +0 -126
- package/dist/operations/mcp-adapter.d.ts +0 -35
- package/dist/operations/mcp-adapter.js +0 -94
- package/dist/operations/metrics.d.ts +0 -30
- package/dist/operations/metrics.js +0 -114
- package/dist/operations/ops.d.ts +0 -28
- package/dist/operations/ops.js +0 -313
- package/dist/operations/projects.d.ts +0 -28
- package/dist/operations/projects.js +0 -36
- package/dist/operations/sdk-docs.d.ts +0 -28
- package/dist/operations/sdk-docs.js +0 -160
- package/dist/operations/types.d.ts +0 -138
- package/dist/operations/types.js +0 -9
- package/dist/operations/universes.d.ts +0 -28
- package/dist/operations/universes.js +0 -93
- package/dist/operations/util.d.ts +0 -33
- package/dist/operations/util.js +0 -9
- package/dist/resources/alert-rules.d.ts +0 -50
- package/dist/resources/alert-rules.js +0 -75
- package/dist/resources/attributes.d.ts +0 -19
- package/dist/resources/attributes.js +0 -10
- package/dist/resources/configs.d.ts +0 -681
- package/dist/resources/configs.js +0 -509
- package/dist/resources/events.d.ts +0 -61
- package/dist/resources/events.js +0 -42
- package/dist/resources/experiments.d.ts +0 -849
- package/dist/resources/experiments.js +0 -707
- package/dist/resources/gates.d.ts +0 -808
- package/dist/resources/gates.js +0 -522
- package/dist/resources/i18n.d.ts +0 -84
- package/dist/resources/i18n.js +0 -60
- package/dist/resources/index.d.ts +0 -2767
- package/dist/resources/index.js +0 -2563
- package/dist/resources/killswitches.d.ts +0 -436
- package/dist/resources/killswitches.js +0 -514
- package/dist/resources/metrics.d.ts +0 -54
- package/dist/resources/metrics.js +0 -40
- package/dist/resources/ops.d.ts +0 -88
- package/dist/resources/ops.js +0 -36
- package/dist/resources/projects.d.ts +0 -54
- package/dist/resources/projects.js +0 -14
- package/dist/resources/universes.d.ts +0 -185
- package/dist/resources/universes.js +0 -234
- package/dist/schemas/alert-rules.d.ts +0 -65
- package/dist/schemas/alert-rules.js +0 -37
- package/dist/schemas/configs.d.ts +0 -154
- package/dist/schemas/configs.js +0 -134
- package/dist/schemas/constants.d.ts +0 -6
- package/dist/schemas/constants.js +0 -7
- package/dist/schemas/experiments.d.ts +0 -229
- package/dist/schemas/experiments.js +0 -221
- package/dist/schemas/folder.d.ts +0 -10
- package/dist/schemas/folder.js +0 -8
- package/dist/schemas/gates.d.ts +0 -386
- package/dist/schemas/gates.js +0 -190
- package/dist/schemas/index.d.ts +0 -11
- package/dist/schemas/index.js +0 -762
- package/dist/schemas/killswitches.d.ts +0 -110
- package/dist/schemas/killswitches.js +0 -226
- package/dist/schemas/metric-name.d.ts +0 -5
- package/dist/schemas/metric-name.js +0 -6
- package/dist/schemas/pagination.d.ts +0 -37
- package/dist/schemas/pagination.js +0 -44
- package/dist/schemas/universes.d.ts +0 -35
- package/dist/schemas/universes.js +0 -55
- package/dist/transport.d.ts +0 -30
- package/dist/transport.js +0 -44
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Cross-cutting shared schemas referenced from multiple resources.
|
|
2
|
+
Env:
|
|
3
|
+
type: string
|
|
4
|
+
enum:
|
|
5
|
+
- dev
|
|
6
|
+
- staging
|
|
7
|
+
- prod
|
|
8
|
+
description: Target environment. One of the project's configured envs (`dev`, `staging`, `prod`).
|
|
9
|
+
Folder:
|
|
10
|
+
anyOf:
|
|
11
|
+
- type: string
|
|
12
|
+
maxLength: 256
|
|
13
|
+
pattern: ^[a-zA-Z0-9_-]+$
|
|
14
|
+
- type: "null"
|
|
15
|
+
description: Optional folder name grouping items in the dashboard. Alphanumeric, `_` or `-` (no `/`). Part of the SDK lookup key (`<folder>/<name>`).
|
|
16
|
+
MetricName:
|
|
17
|
+
type: string
|
|
18
|
+
maxLength: 128
|
|
19
|
+
pattern: ^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$
|
|
20
|
+
description: Stable metric key. Single segment or `folder.name`; lowercase letters, digits, `_`/`-`; max 128 chars.
|
|
21
|
+
ConfigName:
|
|
22
|
+
type: string
|
|
23
|
+
maxLength: 128
|
|
24
|
+
pattern: ^(?:_default|[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$
|
|
25
|
+
description: Stable config/killswitch key in `folder.name` form (two lowercase segments separated by a dot, e.g. `pricing.tiers`). Immutable after create.
|
|
26
|
+
NotificationTarget:
|
|
27
|
+
anyOf:
|
|
28
|
+
- type: object
|
|
29
|
+
properties:
|
|
30
|
+
slackChannel:
|
|
31
|
+
anyOf:
|
|
32
|
+
- type: object
|
|
33
|
+
properties:
|
|
34
|
+
id: { type: string, minLength: 1 }
|
|
35
|
+
name: { type: string, minLength: 1 }
|
|
36
|
+
required: [id, name]
|
|
37
|
+
additionalProperties: false
|
|
38
|
+
- type: "null"
|
|
39
|
+
email:
|
|
40
|
+
anyOf:
|
|
41
|
+
- type: string
|
|
42
|
+
format: email
|
|
43
|
+
- type: "null"
|
|
44
|
+
additionalProperties: false
|
|
45
|
+
- type: "null"
|
|
46
|
+
description: Delivery target for a notification; `null` = use the project default.
|
|
47
|
+
PageQuery:
|
|
48
|
+
type: object
|
|
49
|
+
properties:
|
|
50
|
+
limit:
|
|
51
|
+
type: integer
|
|
52
|
+
minimum: 1
|
|
53
|
+
maximum: 500
|
|
54
|
+
default: 100
|
|
55
|
+
description: Max rows to return (1–500, default 100).
|
|
56
|
+
cursor:
|
|
57
|
+
type: string
|
|
58
|
+
minLength: 1
|
|
59
|
+
description: Opaque keyset cursor from a previous page's `next_cursor`.
|
|
60
|
+
additionalProperties: false
|
|
61
|
+
description: Query params for any paginated list endpoint.
|
|
62
|
+
KillswitchValue:
|
|
63
|
+
type: object
|
|
64
|
+
properties:
|
|
65
|
+
value:
|
|
66
|
+
type: boolean
|
|
67
|
+
description: Default boolean delivered when no `switches` entry matches.
|
|
68
|
+
switches:
|
|
69
|
+
type: object
|
|
70
|
+
additionalProperties: { type: boolean }
|
|
71
|
+
description: Per-switch overrides; a matching key takes precedence over `value`.
|
|
72
|
+
required: [value]
|
|
73
|
+
additionalProperties: false
|
|
74
|
+
description: Runtime killswitch payload returned to SDKs.
|
|
75
|
+
ExperimentInlineMetric:
|
|
76
|
+
type: object
|
|
77
|
+
properties:
|
|
78
|
+
name: { $ref: "#/MetricName" }
|
|
79
|
+
query: { type: string, minLength: 1, maxLength: 4096, description: Metric DSL string. Provide this OR `event`. }
|
|
80
|
+
event: { type: string, minLength: 1, maxLength: 256, description: Event name to build the metric from server-side. Auto-created if missing. }
|
|
81
|
+
aggregation:
|
|
82
|
+
type: string
|
|
83
|
+
enum: [count_users, count_events, retention_7d, retention_30d, sum, avg]
|
|
84
|
+
description: Reducer for the `event` form. Defaults to `count_users`.
|
|
85
|
+
value: { type: string, minLength: 1, maxLength: 256, description: Numeric event property for `sum`/`avg` (with `event`). }
|
|
86
|
+
additionalProperties: false
|
|
87
|
+
description: Inline metric — a DSL `query`, or an `event` (+ `aggregation`/`value`) the server compiles into one.
|
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
ListConfigsResponse:
|
|
2
|
+
type: object
|
|
3
|
+
properties:
|
|
4
|
+
data:
|
|
5
|
+
type: array
|
|
6
|
+
items:
|
|
7
|
+
type: object
|
|
8
|
+
properties:
|
|
9
|
+
id:
|
|
10
|
+
type: string
|
|
11
|
+
description: Stable opaque config id (`cfg_…`).
|
|
12
|
+
name:
|
|
13
|
+
type: string
|
|
14
|
+
maxLength: 128
|
|
15
|
+
description: Stable config key in `folder.name` form (two lowercase segments separated by a dot, e.g. `pricing.tiers`). Used by SDKs as `Shipeasy.getConfig('<name>')`. Immutable after create.
|
|
16
|
+
description:
|
|
17
|
+
anyOf:
|
|
18
|
+
- type: string
|
|
19
|
+
- type: "null"
|
|
20
|
+
schema:
|
|
21
|
+
type: object
|
|
22
|
+
additionalProperties: {}
|
|
23
|
+
description: JSON Schema (draft 2020-12) describing the shape of the config value. Top-level `type` must be `'object'`; every published value is validated against this schema.
|
|
24
|
+
updatedAt:
|
|
25
|
+
type: string
|
|
26
|
+
description: ISO-8601 timestamp of last mutation.
|
|
27
|
+
envs:
|
|
28
|
+
type: object
|
|
29
|
+
additionalProperties:
|
|
30
|
+
type: object
|
|
31
|
+
properties:
|
|
32
|
+
version:
|
|
33
|
+
type: integer
|
|
34
|
+
minimum: -9007199254740991
|
|
35
|
+
maximum: 9007199254740991
|
|
36
|
+
description: Monotonically increasing version per env.
|
|
37
|
+
publishedAt:
|
|
38
|
+
type: string
|
|
39
|
+
description: ISO-8601 publish timestamp.
|
|
40
|
+
publishedBy:
|
|
41
|
+
type: string
|
|
42
|
+
description: Email/id of the actor who published this version.
|
|
43
|
+
required:
|
|
44
|
+
- version
|
|
45
|
+
- publishedAt
|
|
46
|
+
- publishedBy
|
|
47
|
+
additionalProperties: false
|
|
48
|
+
description: Per-env latest published version metadata.
|
|
49
|
+
drafts:
|
|
50
|
+
type: object
|
|
51
|
+
additionalProperties:
|
|
52
|
+
type: object
|
|
53
|
+
properties:
|
|
54
|
+
updatedAt:
|
|
55
|
+
type: string
|
|
56
|
+
description: ISO-8601 last-edit timestamp on the draft.
|
|
57
|
+
authorEmail:
|
|
58
|
+
type: string
|
|
59
|
+
description: Email/id of the actor who last edited the draft.
|
|
60
|
+
baseVersion:
|
|
61
|
+
type: integer
|
|
62
|
+
minimum: -9007199254740991
|
|
63
|
+
maximum: 9007199254740991
|
|
64
|
+
description: Published version the draft was forked from.
|
|
65
|
+
required:
|
|
66
|
+
- updatedAt
|
|
67
|
+
- authorEmail
|
|
68
|
+
- baseVersion
|
|
69
|
+
additionalProperties: false
|
|
70
|
+
description: Per-env active drafts (if any).
|
|
71
|
+
values:
|
|
72
|
+
description: Per-env latest published values (only returned by `GET /{id}`, not list).
|
|
73
|
+
type: object
|
|
74
|
+
additionalProperties: {}
|
|
75
|
+
draftValues:
|
|
76
|
+
description: Per-env draft values (only returned by `GET /{id}`).
|
|
77
|
+
type: object
|
|
78
|
+
additionalProperties: {}
|
|
79
|
+
required:
|
|
80
|
+
- id
|
|
81
|
+
- name
|
|
82
|
+
- description
|
|
83
|
+
- schema
|
|
84
|
+
- updatedAt
|
|
85
|
+
- envs
|
|
86
|
+
- drafts
|
|
87
|
+
additionalProperties: false
|
|
88
|
+
next_cursor:
|
|
89
|
+
anyOf:
|
|
90
|
+
- type: string
|
|
91
|
+
- type: "null"
|
|
92
|
+
required:
|
|
93
|
+
- data
|
|
94
|
+
- next_cursor
|
|
95
|
+
additionalProperties: false
|
|
96
|
+
GetConfigResponse:
|
|
97
|
+
type: object
|
|
98
|
+
properties:
|
|
99
|
+
id:
|
|
100
|
+
type: string
|
|
101
|
+
description: Stable opaque config id (`cfg_…`).
|
|
102
|
+
name:
|
|
103
|
+
type: string
|
|
104
|
+
maxLength: 128
|
|
105
|
+
description: Stable config key in `folder.name` form (two lowercase segments separated by a dot, e.g. `pricing.tiers`). Used by SDKs as `Shipeasy.getConfig('<name>')`. Immutable after create.
|
|
106
|
+
description:
|
|
107
|
+
anyOf:
|
|
108
|
+
- type: string
|
|
109
|
+
- type: "null"
|
|
110
|
+
schema:
|
|
111
|
+
type: object
|
|
112
|
+
additionalProperties: {}
|
|
113
|
+
description: JSON Schema (draft 2020-12) describing the shape of the config value. Top-level `type` must be `'object'`; every published value is validated against this schema.
|
|
114
|
+
updatedAt:
|
|
115
|
+
type: string
|
|
116
|
+
description: ISO-8601 timestamp of last mutation.
|
|
117
|
+
envs:
|
|
118
|
+
type: object
|
|
119
|
+
additionalProperties:
|
|
120
|
+
type: object
|
|
121
|
+
properties:
|
|
122
|
+
version:
|
|
123
|
+
type: integer
|
|
124
|
+
minimum: -9007199254740991
|
|
125
|
+
maximum: 9007199254740991
|
|
126
|
+
description: Monotonically increasing version per env.
|
|
127
|
+
publishedAt:
|
|
128
|
+
type: string
|
|
129
|
+
description: ISO-8601 publish timestamp.
|
|
130
|
+
publishedBy:
|
|
131
|
+
type: string
|
|
132
|
+
description: Email/id of the actor who published this version.
|
|
133
|
+
required:
|
|
134
|
+
- version
|
|
135
|
+
- publishedAt
|
|
136
|
+
- publishedBy
|
|
137
|
+
additionalProperties: false
|
|
138
|
+
description: Per-env latest published version metadata.
|
|
139
|
+
drafts:
|
|
140
|
+
type: object
|
|
141
|
+
additionalProperties:
|
|
142
|
+
type: object
|
|
143
|
+
properties:
|
|
144
|
+
updatedAt:
|
|
145
|
+
type: string
|
|
146
|
+
description: ISO-8601 last-edit timestamp on the draft.
|
|
147
|
+
authorEmail:
|
|
148
|
+
type: string
|
|
149
|
+
description: Email/id of the actor who last edited the draft.
|
|
150
|
+
baseVersion:
|
|
151
|
+
type: integer
|
|
152
|
+
minimum: -9007199254740991
|
|
153
|
+
maximum: 9007199254740991
|
|
154
|
+
description: Published version the draft was forked from.
|
|
155
|
+
required:
|
|
156
|
+
- updatedAt
|
|
157
|
+
- authorEmail
|
|
158
|
+
- baseVersion
|
|
159
|
+
additionalProperties: false
|
|
160
|
+
description: Per-env active drafts (if any).
|
|
161
|
+
values:
|
|
162
|
+
description: Per-env latest published values (only returned by `GET /{id}`, not list).
|
|
163
|
+
type: object
|
|
164
|
+
additionalProperties: {}
|
|
165
|
+
draftValues:
|
|
166
|
+
description: Per-env draft values (only returned by `GET /{id}`).
|
|
167
|
+
type: object
|
|
168
|
+
additionalProperties: {}
|
|
169
|
+
required:
|
|
170
|
+
- id
|
|
171
|
+
- name
|
|
172
|
+
- description
|
|
173
|
+
- schema
|
|
174
|
+
- updatedAt
|
|
175
|
+
- envs
|
|
176
|
+
- drafts
|
|
177
|
+
additionalProperties: false
|
|
178
|
+
CreateConfigRequest:
|
|
179
|
+
type: object
|
|
180
|
+
properties:
|
|
181
|
+
name:
|
|
182
|
+
$ref: ./common.yaml#/ConfigName
|
|
183
|
+
description:
|
|
184
|
+
description: Optional free-form description shown in the dashboard. Max 512 chars.
|
|
185
|
+
type: string
|
|
186
|
+
maxLength: 512
|
|
187
|
+
folder:
|
|
188
|
+
$ref: ./common.yaml#/Folder
|
|
189
|
+
schema:
|
|
190
|
+
type: object
|
|
191
|
+
additionalProperties: {}
|
|
192
|
+
description: JSON Schema (draft 2020-12) describing the shape of the config value. Top-level `type` must be `'object'`; every published value is validated against this schema.
|
|
193
|
+
value:
|
|
194
|
+
description: "Initial config value. Either a single JSON object applied to every env, or a `{ env: value }` map seeding per-env values. Must match `schema`. Defaults to `{}` on every env when omitted."
|
|
195
|
+
required:
|
|
196
|
+
- name
|
|
197
|
+
- schema
|
|
198
|
+
additionalProperties: false
|
|
199
|
+
description: Body for `POST /api/admin/configs`. `name` + `schema` required.
|
|
200
|
+
CreateConfigResponse:
|
|
201
|
+
type: object
|
|
202
|
+
properties:
|
|
203
|
+
id:
|
|
204
|
+
type: string
|
|
205
|
+
description: Newly assigned config id.
|
|
206
|
+
name:
|
|
207
|
+
type: string
|
|
208
|
+
maxLength: 128
|
|
209
|
+
description: Stable config key in `folder.name` form (two lowercase segments separated by a dot, e.g. `pricing.tiers`). Used by SDKs as `Shipeasy.getConfig('<name>')`. Immutable after create.
|
|
210
|
+
required:
|
|
211
|
+
- id
|
|
212
|
+
- name
|
|
213
|
+
additionalProperties: false
|
|
214
|
+
UpdateConfigRequest:
|
|
215
|
+
type: object
|
|
216
|
+
properties:
|
|
217
|
+
schema:
|
|
218
|
+
description: Replacement schema. When supplied, the new schema is validated against every published value before it lands.
|
|
219
|
+
type: object
|
|
220
|
+
additionalProperties: {}
|
|
221
|
+
value:
|
|
222
|
+
description: Flat value applied to **every** env. Publishes a new version per env. To target one env, use `PUT /{id}/drafts` then `POST /{id}/publish`.
|
|
223
|
+
folder:
|
|
224
|
+
$ref: ./common.yaml#/Folder
|
|
225
|
+
additionalProperties: false
|
|
226
|
+
description: Body for `PATCH /api/admin/configs/{id}`. Partial — only supplied fields change. `value` republishes on every env.
|
|
227
|
+
UpdateConfigResponse:
|
|
228
|
+
type: object
|
|
229
|
+
properties:
|
|
230
|
+
id:
|
|
231
|
+
type: string
|
|
232
|
+
description: Config id that was updated.
|
|
233
|
+
required:
|
|
234
|
+
- id
|
|
235
|
+
additionalProperties: false
|
|
236
|
+
UpdateConfigSchemaRequest:
|
|
237
|
+
type: object
|
|
238
|
+
properties:
|
|
239
|
+
schema:
|
|
240
|
+
description: Replacement JSON Schema (draft 2020-12). Validated against every published value before it lands.
|
|
241
|
+
type: object
|
|
242
|
+
additionalProperties: {}
|
|
243
|
+
required:
|
|
244
|
+
- schema
|
|
245
|
+
additionalProperties: false
|
|
246
|
+
description: Body for `PATCH /api/admin/configs/{id}/schema`. Schema-only update — replaces the config's schema and re-validates existing values.
|
|
247
|
+
UpdateConfigSchemaResponse:
|
|
248
|
+
type: object
|
|
249
|
+
properties:
|
|
250
|
+
id:
|
|
251
|
+
type: string
|
|
252
|
+
description: Config id whose schema was updated.
|
|
253
|
+
required:
|
|
254
|
+
- id
|
|
255
|
+
additionalProperties: false
|
|
256
|
+
DeleteConfigResponse:
|
|
257
|
+
type: object
|
|
258
|
+
properties:
|
|
259
|
+
ok:
|
|
260
|
+
type: boolean
|
|
261
|
+
const: true
|
|
262
|
+
required:
|
|
263
|
+
- ok
|
|
264
|
+
additionalProperties: false
|
|
265
|
+
SaveConfigDraftRequest:
|
|
266
|
+
type: object
|
|
267
|
+
properties:
|
|
268
|
+
env:
|
|
269
|
+
$ref: ./common.yaml#/Env
|
|
270
|
+
value:
|
|
271
|
+
description: Draft value to stage on `env`. Validated against the config's current schema.
|
|
272
|
+
required:
|
|
273
|
+
- env
|
|
274
|
+
- value
|
|
275
|
+
additionalProperties: false
|
|
276
|
+
description: Body for `PUT /api/admin/configs/{id}/drafts`. Stages a value for a single env without publishing.
|
|
277
|
+
SaveConfigDraftResponse:
|
|
278
|
+
type: object
|
|
279
|
+
properties:
|
|
280
|
+
id:
|
|
281
|
+
type: string
|
|
282
|
+
env:
|
|
283
|
+
$ref: ./common.yaml#/Env
|
|
284
|
+
baseVersion:
|
|
285
|
+
type: integer
|
|
286
|
+
minimum: -9007199254740991
|
|
287
|
+
maximum: 9007199254740991
|
|
288
|
+
description: Published version the draft is based on.
|
|
289
|
+
updatedAt:
|
|
290
|
+
type: string
|
|
291
|
+
required:
|
|
292
|
+
- id
|
|
293
|
+
- env
|
|
294
|
+
- baseVersion
|
|
295
|
+
- updatedAt
|
|
296
|
+
additionalProperties: false
|
|
297
|
+
DiscardConfigDraftRequest:
|
|
298
|
+
type: object
|
|
299
|
+
properties:
|
|
300
|
+
env:
|
|
301
|
+
$ref: ./common.yaml#/Env
|
|
302
|
+
required:
|
|
303
|
+
- env
|
|
304
|
+
additionalProperties: false
|
|
305
|
+
description: Body for `POST /api/admin/configs/{id}/publish` and `DELETE /api/admin/configs/{id}/drafts`. Names the target env.
|
|
306
|
+
DiscardConfigDraftResponse:
|
|
307
|
+
type: object
|
|
308
|
+
properties:
|
|
309
|
+
ok:
|
|
310
|
+
type: boolean
|
|
311
|
+
const: true
|
|
312
|
+
required:
|
|
313
|
+
- ok
|
|
314
|
+
additionalProperties: false
|
|
315
|
+
PublishConfigDraftRequest:
|
|
316
|
+
type: object
|
|
317
|
+
properties:
|
|
318
|
+
env:
|
|
319
|
+
$ref: ./common.yaml#/Env
|
|
320
|
+
required:
|
|
321
|
+
- env
|
|
322
|
+
additionalProperties: false
|
|
323
|
+
description: Body for `POST /api/admin/configs/{id}/publish` and `DELETE /api/admin/configs/{id}/drafts`. Names the target env.
|
|
324
|
+
PublishConfigDraftResponse:
|
|
325
|
+
type: object
|
|
326
|
+
properties:
|
|
327
|
+
id:
|
|
328
|
+
type: string
|
|
329
|
+
env:
|
|
330
|
+
$ref: ./common.yaml#/Env
|
|
331
|
+
version:
|
|
332
|
+
type: integer
|
|
333
|
+
minimum: -9007199254740991
|
|
334
|
+
maximum: 9007199254740991
|
|
335
|
+
description: Newly published version on `env`.
|
|
336
|
+
required:
|
|
337
|
+
- id
|
|
338
|
+
- env
|
|
339
|
+
- version
|
|
340
|
+
additionalProperties: false
|
|
341
|
+
ListConfigActivityResponse:
|
|
342
|
+
type: array
|
|
343
|
+
items:
|
|
344
|
+
type: object
|
|
345
|
+
properties:
|
|
346
|
+
id:
|
|
347
|
+
type: string
|
|
348
|
+
action:
|
|
349
|
+
type: string
|
|
350
|
+
description: Audit action (e.g. `config.create`, `config.publish`).
|
|
351
|
+
actorEmail:
|
|
352
|
+
type: string
|
|
353
|
+
actorType:
|
|
354
|
+
type: string
|
|
355
|
+
enum:
|
|
356
|
+
- user
|
|
357
|
+
- cli
|
|
358
|
+
- system
|
|
359
|
+
payload: {}
|
|
360
|
+
createdAt:
|
|
361
|
+
type: string
|
|
362
|
+
description: ISO-8601 timestamp.
|
|
363
|
+
required:
|
|
364
|
+
- id
|
|
365
|
+
- action
|
|
366
|
+
- actorEmail
|
|
367
|
+
- actorType
|
|
368
|
+
- payload
|
|
369
|
+
- createdAt
|
|
370
|
+
additionalProperties: false
|
|
371
|
+
description: Recent audit rows for one config, newest first.
|