@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,209 @@
|
|
|
1
|
+
ErrorRecord:
|
|
2
|
+
type: object
|
|
3
|
+
description: |-
|
|
4
|
+
A tracked production error — one row per distinct issue, keyed by `fingerprint`. Rows are never created by hand: an ingestion path (worker log drain / the `see()` SDK reporter) folds each occurrence into the matching row, bumping `count` and `lastSeenAt`. The admin surface only lists them, reads one, and flips `status`.
|
|
5
|
+
|
|
6
|
+
Field names are camelCase (the D1 row projected through Drizzle). Many columns are nullable because the reporting source may not supply them.
|
|
7
|
+
properties:
|
|
8
|
+
id:
|
|
9
|
+
type: string
|
|
10
|
+
description: Stable opaque error id.
|
|
11
|
+
projectId:
|
|
12
|
+
type: string
|
|
13
|
+
description: Project this issue belongs to.
|
|
14
|
+
fingerprint:
|
|
15
|
+
type: string
|
|
16
|
+
description: Stable dedupe key (hash of `errorType` + normalized `message` + consequence). Unique per project — every occurrence with the same fingerprint folds into this one row.
|
|
17
|
+
causedByFingerprint:
|
|
18
|
+
description: Fingerprint of the issue this one descends from — set when `see()` reported the same error (re-throw) or its `{ cause }` (wrap) at an inner boundary first. Points at another error's `fingerprint` in the same project (soft reference, no FK). `null` for a root issue.
|
|
19
|
+
anyOf:
|
|
20
|
+
- type: string
|
|
21
|
+
- type: "null"
|
|
22
|
+
message:
|
|
23
|
+
type: string
|
|
24
|
+
description: Error message text.
|
|
25
|
+
errorType:
|
|
26
|
+
description: Error class/name, e.g. `TypeError`. `null` when the source didn't supply one.
|
|
27
|
+
anyOf:
|
|
28
|
+
- type: string
|
|
29
|
+
- type: "null"
|
|
30
|
+
stack:
|
|
31
|
+
description: Stack trace of the latest occurrence, or `null` if none was captured.
|
|
32
|
+
anyOf:
|
|
33
|
+
- type: string
|
|
34
|
+
- type: "null"
|
|
35
|
+
source:
|
|
36
|
+
description: Where it surfaced — Worker name (`shipeasy`, `shipeasy-worker`) or `sdk-client` / `sdk-server`. `null` if unknown.
|
|
37
|
+
anyOf:
|
|
38
|
+
- type: string
|
|
39
|
+
- type: "null"
|
|
40
|
+
url:
|
|
41
|
+
description: Latest occurrence's raw URL (with ids intact), or `null`.
|
|
42
|
+
anyOf:
|
|
43
|
+
- type: string
|
|
44
|
+
- type: "null"
|
|
45
|
+
seenUrls:
|
|
46
|
+
description: 'Distinct, id-normalized route templates this issue has surfaced on, as a JSON-encoded string array (e.g. `["https://app/dashboard/#/gates"]`). UUIDs / numeric ids / opaque tokens are collapsed to `#` so the same route under different ids counts once. `null` if none recorded.'
|
|
47
|
+
anyOf:
|
|
48
|
+
- type: string
|
|
49
|
+
- type: "null"
|
|
50
|
+
subject:
|
|
51
|
+
description: Consequence subject — `<errorType> causes the <subject> to <outcome>`. `null` if no consequence was reported.
|
|
52
|
+
anyOf:
|
|
53
|
+
- type: string
|
|
54
|
+
- type: "null"
|
|
55
|
+
outcome:
|
|
56
|
+
description: Consequence outcome — see `subject`. `null` if no consequence was reported.
|
|
57
|
+
anyOf:
|
|
58
|
+
- type: string
|
|
59
|
+
- type: "null"
|
|
60
|
+
side:
|
|
61
|
+
description: Which SDK side reported it — `client` or `server`. `null` if unknown.
|
|
62
|
+
anyOf:
|
|
63
|
+
- type: string
|
|
64
|
+
- type: "null"
|
|
65
|
+
env:
|
|
66
|
+
description: Published env the reporting SDK ran against (e.g. `dev`, `staging`, `prod`). `null` if unknown.
|
|
67
|
+
anyOf:
|
|
68
|
+
- type: string
|
|
69
|
+
- type: "null"
|
|
70
|
+
kind:
|
|
71
|
+
description: "`see()` error kind. `null` when the source didn't classify the occurrence."
|
|
72
|
+
anyOf:
|
|
73
|
+
- type: string
|
|
74
|
+
enum:
|
|
75
|
+
- caught
|
|
76
|
+
- uncaught
|
|
77
|
+
- unhandled_rejection
|
|
78
|
+
- network
|
|
79
|
+
- violation
|
|
80
|
+
- type: "null"
|
|
81
|
+
lastExtrasJson:
|
|
82
|
+
description: Latest occurrence's sanitized extras, JSON-encoded. `null` if none.
|
|
83
|
+
anyOf:
|
|
84
|
+
- type: string
|
|
85
|
+
- type: "null"
|
|
86
|
+
sdkVersion:
|
|
87
|
+
description: "`@shipeasy/sdk` version of the latest occurrence, or `null`."
|
|
88
|
+
anyOf:
|
|
89
|
+
- type: string
|
|
90
|
+
- type: "null"
|
|
91
|
+
count:
|
|
92
|
+
type: integer
|
|
93
|
+
minimum: 1
|
|
94
|
+
description: Number of folded occurrences for this fingerprint.
|
|
95
|
+
status:
|
|
96
|
+
type: string
|
|
97
|
+
enum:
|
|
98
|
+
- open
|
|
99
|
+
- resolved
|
|
100
|
+
- ignored
|
|
101
|
+
description: "Triage state. `open` is the default; a `resolved` error reopens automatically (ingestion-side) if it recurs; `ignored` is sticky until flipped back here."
|
|
102
|
+
firstSeenAt:
|
|
103
|
+
type: string
|
|
104
|
+
description: ISO-8601 timestamp of the first folded occurrence.
|
|
105
|
+
lastSeenAt:
|
|
106
|
+
type: string
|
|
107
|
+
description: ISO-8601 timestamp of the most recent folded occurrence. Rows are ordered by this, descending.
|
|
108
|
+
createdAt:
|
|
109
|
+
type: string
|
|
110
|
+
description: ISO-8601 timestamp the row was created.
|
|
111
|
+
updatedAt:
|
|
112
|
+
type: string
|
|
113
|
+
description: ISO-8601 timestamp of the last mutation (e.g. a status flip).
|
|
114
|
+
required:
|
|
115
|
+
- id
|
|
116
|
+
- projectId
|
|
117
|
+
- fingerprint
|
|
118
|
+
- message
|
|
119
|
+
- count
|
|
120
|
+
- status
|
|
121
|
+
- firstSeenAt
|
|
122
|
+
- lastSeenAt
|
|
123
|
+
- createdAt
|
|
124
|
+
- updatedAt
|
|
125
|
+
additionalProperties: false
|
|
126
|
+
ListErrorsResponse:
|
|
127
|
+
type: array
|
|
128
|
+
description: A bare JSON array of tracked errors, ordered by `lastSeenAt` descending. There is no pagination envelope — `limit` caps the page size.
|
|
129
|
+
items:
|
|
130
|
+
$ref: "#/ErrorRecord"
|
|
131
|
+
UpdateErrorStatusRequest:
|
|
132
|
+
type: object
|
|
133
|
+
description: Body for `PATCH /api/admin/errors/{id}`. The only mutable field is `status` (open ⇄ resolved ⇄ ignored).
|
|
134
|
+
properties:
|
|
135
|
+
status:
|
|
136
|
+
type: string
|
|
137
|
+
enum:
|
|
138
|
+
- open
|
|
139
|
+
- resolved
|
|
140
|
+
- ignored
|
|
141
|
+
description: New triage state. `resolved` reopens automatically on recurrence; `ignored` is sticky.
|
|
142
|
+
required:
|
|
143
|
+
- status
|
|
144
|
+
additionalProperties: false
|
|
145
|
+
FileErrorTicketResponse:
|
|
146
|
+
type: object
|
|
147
|
+
description: |-
|
|
148
|
+
The feedback ticket that tracks this error. Idempotent — if an open `error` ticket already tracks this fingerprint (hand- or auto-filed), the existing one is returned instead of creating a duplicate.
|
|
149
|
+
properties:
|
|
150
|
+
id:
|
|
151
|
+
type: string
|
|
152
|
+
description: Feedback ticket id.
|
|
153
|
+
number:
|
|
154
|
+
type: integer
|
|
155
|
+
description: Human-facing per-project ticket number.
|
|
156
|
+
required:
|
|
157
|
+
- id
|
|
158
|
+
- number
|
|
159
|
+
additionalProperties: false
|
|
160
|
+
ErrorSeriesRequest:
|
|
161
|
+
type: object
|
|
162
|
+
description: |-
|
|
163
|
+
Time window for the occurrence series. Bounds are epoch **seconds** (Analytics Engine stores the occurrence timestamp in seconds). `to` must be strictly greater than `from`.
|
|
164
|
+
properties:
|
|
165
|
+
from:
|
|
166
|
+
type: integer
|
|
167
|
+
minimum: 0
|
|
168
|
+
description: Window start, epoch seconds (inclusive).
|
|
169
|
+
to:
|
|
170
|
+
type: integer
|
|
171
|
+
minimum: 0
|
|
172
|
+
description: Window end, epoch seconds (exclusive). Must be greater than `from`.
|
|
173
|
+
bucket:
|
|
174
|
+
type: integer
|
|
175
|
+
minimum: 60
|
|
176
|
+
maximum: 86400
|
|
177
|
+
default: 3600
|
|
178
|
+
description: Bucket width in seconds (60s–86400s/1d). Defaults to `3600` (hourly). Each returned point is floor-aligned to this width.
|
|
179
|
+
required:
|
|
180
|
+
- from
|
|
181
|
+
- to
|
|
182
|
+
additionalProperties: false
|
|
183
|
+
ErrorSeriesResponse:
|
|
184
|
+
type: object
|
|
185
|
+
description: Bucketed occurrence counts for one tracked error (by its fingerprint), plus the Analytics Engine SQL that produced them.
|
|
186
|
+
properties:
|
|
187
|
+
sql:
|
|
188
|
+
type: string
|
|
189
|
+
description: The Analytics Engine SQL executed to produce `rows` (echoed for transparency / debugging).
|
|
190
|
+
rows:
|
|
191
|
+
type: array
|
|
192
|
+
description: Bucketed occurrence series, ordered by `t` ascending.
|
|
193
|
+
items:
|
|
194
|
+
type: object
|
|
195
|
+
properties:
|
|
196
|
+
t:
|
|
197
|
+
type: integer
|
|
198
|
+
description: Bucket start, epoch seconds, floor-aligned to `bucket`.
|
|
199
|
+
v:
|
|
200
|
+
type: number
|
|
201
|
+
description: Occurrence count in the bucket (sample-interval weighted).
|
|
202
|
+
required:
|
|
203
|
+
- t
|
|
204
|
+
- v
|
|
205
|
+
additionalProperties: true
|
|
206
|
+
required:
|
|
207
|
+
- sql
|
|
208
|
+
- rows
|
|
209
|
+
additionalProperties: false
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
ListEventsResponse:
|
|
2
|
+
type: array
|
|
3
|
+
items:
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
id:
|
|
7
|
+
type: string
|
|
8
|
+
description: Stable opaque event id.
|
|
9
|
+
name:
|
|
10
|
+
type: string
|
|
11
|
+
description: Event name — the handle metric queries reference.
|
|
12
|
+
folder:
|
|
13
|
+
anyOf:
|
|
14
|
+
- description: "Optional folder name used to group items in the dashboard. Part of the SDK lookup key: an item in folder `checkout` named `new-cart` is referenced as `checkout/new-cart` from the SDK."
|
|
15
|
+
anyOf:
|
|
16
|
+
- type: string
|
|
17
|
+
maxLength: 256
|
|
18
|
+
pattern: ^[a-zA-Z0-9_-]+$
|
|
19
|
+
- type: "null"
|
|
20
|
+
- type: "null"
|
|
21
|
+
description: Folder the event is filed under, or `null` if at the root.
|
|
22
|
+
description:
|
|
23
|
+
anyOf:
|
|
24
|
+
- type: string
|
|
25
|
+
- type: "null"
|
|
26
|
+
description: Human-readable description, or `null` if none set.
|
|
27
|
+
properties:
|
|
28
|
+
type: array
|
|
29
|
+
items:
|
|
30
|
+
type: object
|
|
31
|
+
properties:
|
|
32
|
+
name:
|
|
33
|
+
type: string
|
|
34
|
+
minLength: 1
|
|
35
|
+
maxLength: 64
|
|
36
|
+
description: Property key, e.g. `amount` or `plan`.
|
|
37
|
+
type:
|
|
38
|
+
type: string
|
|
39
|
+
enum:
|
|
40
|
+
- string
|
|
41
|
+
- number
|
|
42
|
+
- boolean
|
|
43
|
+
description: Value type of the property as recorded on the event.
|
|
44
|
+
required:
|
|
45
|
+
default: false
|
|
46
|
+
description: Whether the property must be present on every emitted event.
|
|
47
|
+
type: boolean
|
|
48
|
+
description:
|
|
49
|
+
default: ""
|
|
50
|
+
description: Human-readable description of the property.
|
|
51
|
+
type: string
|
|
52
|
+
required:
|
|
53
|
+
- name
|
|
54
|
+
- type
|
|
55
|
+
additionalProperties: false
|
|
56
|
+
description: One typed property declared on a catalogued event.
|
|
57
|
+
description: Typed properties declared on the event.
|
|
58
|
+
pending:
|
|
59
|
+
type: integer
|
|
60
|
+
minimum: -9007199254740991
|
|
61
|
+
maximum: 9007199254740991
|
|
62
|
+
description: "`1` if this is an auto-discovered name awaiting approval (metrics on it fail until approved), `0` if approved/usable."
|
|
63
|
+
createdAt:
|
|
64
|
+
type: string
|
|
65
|
+
description: ISO-8601 timestamp of creation.
|
|
66
|
+
required:
|
|
67
|
+
- id
|
|
68
|
+
- name
|
|
69
|
+
- description
|
|
70
|
+
- properties
|
|
71
|
+
- pending
|
|
72
|
+
- createdAt
|
|
73
|
+
additionalProperties: false
|
|
74
|
+
description: A catalogued event.
|
|
75
|
+
description: Every catalogued event in the project (including pending auto-discovered names).
|
|
76
|
+
GetEventResponse:
|
|
77
|
+
type: object
|
|
78
|
+
properties:
|
|
79
|
+
id:
|
|
80
|
+
type: string
|
|
81
|
+
description: Stable opaque event id.
|
|
82
|
+
name:
|
|
83
|
+
type: string
|
|
84
|
+
description: Event name — the handle metric queries reference.
|
|
85
|
+
folder:
|
|
86
|
+
anyOf:
|
|
87
|
+
- description: "Optional folder name used to group items in the dashboard. Part of the SDK lookup key: an item in folder `checkout` named `new-cart` is referenced as `checkout/new-cart` from the SDK."
|
|
88
|
+
anyOf:
|
|
89
|
+
- type: string
|
|
90
|
+
maxLength: 256
|
|
91
|
+
pattern: ^[a-zA-Z0-9_-]+$
|
|
92
|
+
- type: "null"
|
|
93
|
+
- type: "null"
|
|
94
|
+
description: Folder the event is filed under, or `null` if at the root.
|
|
95
|
+
description:
|
|
96
|
+
anyOf:
|
|
97
|
+
- type: string
|
|
98
|
+
- type: "null"
|
|
99
|
+
description: Human-readable description, or `null` if none set.
|
|
100
|
+
properties:
|
|
101
|
+
type: array
|
|
102
|
+
items:
|
|
103
|
+
type: object
|
|
104
|
+
properties:
|
|
105
|
+
name:
|
|
106
|
+
type: string
|
|
107
|
+
minLength: 1
|
|
108
|
+
maxLength: 64
|
|
109
|
+
description: Property key, e.g. `amount` or `plan`.
|
|
110
|
+
type:
|
|
111
|
+
type: string
|
|
112
|
+
enum:
|
|
113
|
+
- string
|
|
114
|
+
- number
|
|
115
|
+
- boolean
|
|
116
|
+
description: Value type of the property as recorded on the event.
|
|
117
|
+
required:
|
|
118
|
+
default: false
|
|
119
|
+
description: Whether the property must be present on every emitted event.
|
|
120
|
+
type: boolean
|
|
121
|
+
description:
|
|
122
|
+
default: ""
|
|
123
|
+
description: Human-readable description of the property.
|
|
124
|
+
type: string
|
|
125
|
+
required:
|
|
126
|
+
- name
|
|
127
|
+
- type
|
|
128
|
+
additionalProperties: false
|
|
129
|
+
description: One typed property declared on a catalogued event.
|
|
130
|
+
description: Typed properties declared on the event.
|
|
131
|
+
pending:
|
|
132
|
+
type: integer
|
|
133
|
+
minimum: -9007199254740991
|
|
134
|
+
maximum: 9007199254740991
|
|
135
|
+
description: "`1` if this is an auto-discovered name awaiting approval (metrics on it fail until approved), `0` if approved/usable."
|
|
136
|
+
createdAt:
|
|
137
|
+
type: string
|
|
138
|
+
description: ISO-8601 timestamp of creation.
|
|
139
|
+
required:
|
|
140
|
+
- id
|
|
141
|
+
- name
|
|
142
|
+
- description
|
|
143
|
+
- properties
|
|
144
|
+
- pending
|
|
145
|
+
- createdAt
|
|
146
|
+
additionalProperties: false
|
|
147
|
+
description: A catalogued event.
|
|
148
|
+
CreateEventRequest:
|
|
149
|
+
type: object
|
|
150
|
+
properties:
|
|
151
|
+
name:
|
|
152
|
+
type: string
|
|
153
|
+
pattern: ^[a-zA-Z0-9_][a-zA-Z0-9_\-.]{0,127}$
|
|
154
|
+
description: Event name. Starts with a letter, digit, or `_`; letters, digits, `_`, `-`, `.`; max 128 chars. Immutable after create — this is the handle metric queries reference.
|
|
155
|
+
folder:
|
|
156
|
+
$ref: ./common.yaml#/Folder
|
|
157
|
+
description:
|
|
158
|
+
description: Optional human-readable description of the event.
|
|
159
|
+
type: string
|
|
160
|
+
properties:
|
|
161
|
+
default: []
|
|
162
|
+
description: Typed properties declared on the event. Defaults to an empty list.
|
|
163
|
+
type: array
|
|
164
|
+
items:
|
|
165
|
+
type: object
|
|
166
|
+
properties:
|
|
167
|
+
name:
|
|
168
|
+
type: string
|
|
169
|
+
minLength: 1
|
|
170
|
+
maxLength: 64
|
|
171
|
+
description: Property key, e.g. `amount` or `plan`.
|
|
172
|
+
type:
|
|
173
|
+
type: string
|
|
174
|
+
enum:
|
|
175
|
+
- string
|
|
176
|
+
- number
|
|
177
|
+
- boolean
|
|
178
|
+
description: Value type of the property as recorded on the event.
|
|
179
|
+
required:
|
|
180
|
+
default: false
|
|
181
|
+
description: Whether the property must be present on every emitted event.
|
|
182
|
+
type: boolean
|
|
183
|
+
description:
|
|
184
|
+
default: ""
|
|
185
|
+
description: Human-readable description of the property.
|
|
186
|
+
type: string
|
|
187
|
+
required:
|
|
188
|
+
- name
|
|
189
|
+
- type
|
|
190
|
+
additionalProperties: false
|
|
191
|
+
description: One typed property declared on a catalogued event.
|
|
192
|
+
required:
|
|
193
|
+
- name
|
|
194
|
+
additionalProperties: false
|
|
195
|
+
description: Body for `POST /api/admin/events`. Only `name` is required.
|
|
196
|
+
CreateEventResponse:
|
|
197
|
+
type: object
|
|
198
|
+
properties:
|
|
199
|
+
id:
|
|
200
|
+
type: string
|
|
201
|
+
description: Newly assigned event id.
|
|
202
|
+
name:
|
|
203
|
+
type: string
|
|
204
|
+
description: The event name that was registered.
|
|
205
|
+
required:
|
|
206
|
+
- id
|
|
207
|
+
- name
|
|
208
|
+
additionalProperties: false
|
|
209
|
+
description: Result of creating (or approving an existing pending) event.
|
|
210
|
+
UpdateEventRequest:
|
|
211
|
+
type: object
|
|
212
|
+
properties:
|
|
213
|
+
folder:
|
|
214
|
+
$ref: ./common.yaml#/Folder
|
|
215
|
+
description:
|
|
216
|
+
description: New description for the event.
|
|
217
|
+
type: string
|
|
218
|
+
properties:
|
|
219
|
+
description: Replaces the full property set (no merge). Omit to leave properties unchanged.
|
|
220
|
+
type: array
|
|
221
|
+
items:
|
|
222
|
+
type: object
|
|
223
|
+
properties:
|
|
224
|
+
name:
|
|
225
|
+
type: string
|
|
226
|
+
minLength: 1
|
|
227
|
+
maxLength: 64
|
|
228
|
+
description: Property key, e.g. `amount` or `plan`.
|
|
229
|
+
type:
|
|
230
|
+
type: string
|
|
231
|
+
enum:
|
|
232
|
+
- string
|
|
233
|
+
- number
|
|
234
|
+
- boolean
|
|
235
|
+
description: Value type of the property as recorded on the event.
|
|
236
|
+
required:
|
|
237
|
+
default: false
|
|
238
|
+
description: Whether the property must be present on every emitted event.
|
|
239
|
+
type: boolean
|
|
240
|
+
description:
|
|
241
|
+
default: ""
|
|
242
|
+
description: Human-readable description of the property.
|
|
243
|
+
type: string
|
|
244
|
+
required:
|
|
245
|
+
- name
|
|
246
|
+
- type
|
|
247
|
+
additionalProperties: false
|
|
248
|
+
description: One typed property declared on a catalogued event.
|
|
249
|
+
additionalProperties: false
|
|
250
|
+
description: Body for `PATCH /api/admin/events/{id}` and `POST /api/admin/events/{id}/approve`. All fields optional; `name` is immutable after create.
|
|
251
|
+
UpdateEventResponse:
|
|
252
|
+
type: object
|
|
253
|
+
properties:
|
|
254
|
+
id:
|
|
255
|
+
type: string
|
|
256
|
+
description: Event id that was updated.
|
|
257
|
+
required:
|
|
258
|
+
- id
|
|
259
|
+
additionalProperties: false
|
|
260
|
+
description: Result of updating or approving an event.
|
|
261
|
+
ApproveEventRequest:
|
|
262
|
+
type: object
|
|
263
|
+
properties:
|
|
264
|
+
folder:
|
|
265
|
+
$ref: ./common.yaml#/Folder
|
|
266
|
+
description:
|
|
267
|
+
description: New description for the event.
|
|
268
|
+
type: string
|
|
269
|
+
properties:
|
|
270
|
+
description: Replaces the full property set (no merge). Omit to leave properties unchanged.
|
|
271
|
+
type: array
|
|
272
|
+
items:
|
|
273
|
+
type: object
|
|
274
|
+
properties:
|
|
275
|
+
name:
|
|
276
|
+
type: string
|
|
277
|
+
minLength: 1
|
|
278
|
+
maxLength: 64
|
|
279
|
+
description: Property key, e.g. `amount` or `plan`.
|
|
280
|
+
type:
|
|
281
|
+
type: string
|
|
282
|
+
enum:
|
|
283
|
+
- string
|
|
284
|
+
- number
|
|
285
|
+
- boolean
|
|
286
|
+
description: Value type of the property as recorded on the event.
|
|
287
|
+
required:
|
|
288
|
+
default: false
|
|
289
|
+
description: Whether the property must be present on every emitted event.
|
|
290
|
+
type: boolean
|
|
291
|
+
description:
|
|
292
|
+
default: ""
|
|
293
|
+
description: Human-readable description of the property.
|
|
294
|
+
type: string
|
|
295
|
+
required:
|
|
296
|
+
- name
|
|
297
|
+
- type
|
|
298
|
+
additionalProperties: false
|
|
299
|
+
description: One typed property declared on a catalogued event.
|
|
300
|
+
additionalProperties: false
|
|
301
|
+
description: Body for `PATCH /api/admin/events/{id}` and `POST /api/admin/events/{id}/approve`. All fields optional; `name` is immutable after create.
|
|
302
|
+
ApproveEventResponse:
|
|
303
|
+
type: object
|
|
304
|
+
properties:
|
|
305
|
+
id:
|
|
306
|
+
type: string
|
|
307
|
+
description: Event id that was updated.
|
|
308
|
+
required:
|
|
309
|
+
- id
|
|
310
|
+
additionalProperties: false
|
|
311
|
+
description: Result of updating or approving an event.
|
|
312
|
+
DeleteEventResponse:
|
|
313
|
+
type: object
|
|
314
|
+
properties:
|
|
315
|
+
ok:
|
|
316
|
+
type: boolean
|
|
317
|
+
const: true
|
|
318
|
+
required:
|
|
319
|
+
- ok
|
|
320
|
+
additionalProperties: false
|
|
321
|
+
description: Confirmation that the event was archived.
|