@shipeasy/openapi 1.6.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 (151) hide show
  1. package/README.md +37 -0
  2. package/dist/chunk-643YSMLU.js +1616 -0
  3. package/dist/chunk-643YSMLU.js.map +1 -0
  4. package/dist/chunk-MRW3DJ57.js +3385 -0
  5. package/dist/chunk-MRW3DJ57.js.map +1 -0
  6. package/dist/client-K0ShmsC7.d.ts +11284 -0
  7. package/dist/client.d.ts +1 -0
  8. package/dist/client.js +215 -0
  9. package/dist/client.js.map +1 -0
  10. package/dist/custom.d.ts +86 -0
  11. package/dist/custom.js +300 -0
  12. package/dist/custom.js.map +1 -0
  13. package/dist/index.d.ts +29 -41
  14. package/dist/index.js +258 -4375
  15. package/dist/index.js.map +1 -0
  16. package/dist/node-context.d.ts +81 -33
  17. package/dist/node-context.js +98 -44
  18. package/dist/node-context.js.map +1 -0
  19. package/dist/schemas.d.ts +7973 -0
  20. package/dist/schemas.js +1099 -0
  21. package/dist/schemas.js.map +1 -0
  22. package/openapi.json +15922 -3232
  23. package/openapi.yaml +14277 -0
  24. package/package.json +33 -26
  25. package/spec/components/errors.yaml +53 -0
  26. package/spec/components/parameters.yaml +32 -0
  27. package/spec/components/responses.yaml +122 -0
  28. package/spec/components/schemas/alert-rules.yaml +175 -0
  29. package/spec/components/schemas/attributes.yaml +157 -0
  30. package/spec/components/schemas/common.yaml +92 -0
  31. package/spec/components/schemas/configs.yaml +371 -0
  32. package/spec/components/schemas/connectors.yaml +587 -0
  33. package/spec/components/schemas/errors-api.yaml +209 -0
  34. package/spec/components/schemas/events.yaml +321 -0
  35. package/spec/components/schemas/experiments.yaml +865 -0
  36. package/spec/components/schemas/gate-templates.yaml +237 -0
  37. package/spec/components/schemas/gates.yaml +890 -0
  38. package/spec/components/schemas/i18n.yaml +478 -0
  39. package/spec/components/schemas/keys.yaml +186 -0
  40. package/spec/components/schemas/killswitches.yaml +309 -0
  41. package/spec/components/schemas/metrics.yaml +547 -0
  42. package/spec/components/schemas/ops.yaml +1013 -0
  43. package/spec/components/schemas/projects.yaml +222 -0
  44. package/spec/components/schemas/search.yaml +46 -0
  45. package/spec/components/schemas/universes.yaml +127 -0
  46. package/spec/openapi.yaml +367 -0
  47. package/spec/paths/alert-rules.yaml +258 -0
  48. package/spec/paths/attributes.yaml +272 -0
  49. package/spec/paths/configs.yaml +758 -0
  50. package/spec/paths/connectors.yaml +782 -0
  51. package/spec/paths/errors.yaml +382 -0
  52. package/spec/paths/events.yaml +380 -0
  53. package/spec/paths/experiments.yaml +803 -0
  54. package/spec/paths/gate-templates.yaml +267 -0
  55. package/spec/paths/gates.yaml +465 -0
  56. package/spec/paths/i18n.yaml +557 -0
  57. package/spec/paths/keys.yaml +182 -0
  58. package/spec/paths/killswitches.yaml +574 -0
  59. package/spec/paths/metrics.yaml +313 -0
  60. package/spec/paths/ops.yaml +446 -0
  61. package/spec/paths/projects.yaml +210 -0
  62. package/spec/paths/search.yaml +62 -0
  63. package/spec/paths/universes.yaml +255 -0
  64. package/dist/operations/attributes.d.ts +0 -33
  65. package/dist/operations/attributes.js +0 -16
  66. package/dist/operations/cli-adapter.d.ts +0 -35
  67. package/dist/operations/cli-adapter.js +0 -91
  68. package/dist/operations/coerce.d.ts +0 -32
  69. package/dist/operations/coerce.js +0 -53
  70. package/dist/operations/configs.d.ts +0 -28
  71. package/dist/operations/configs.js +0 -119
  72. package/dist/operations/docs.d.ts +0 -37
  73. package/dist/operations/docs.js +0 -39
  74. package/dist/operations/events.d.ts +0 -28
  75. package/dist/operations/events.js +0 -121
  76. package/dist/operations/experiments.d.ts +0 -28
  77. package/dist/operations/experiments.js +0 -280
  78. package/dist/operations/gates.d.ts +0 -28
  79. package/dist/operations/gates.js +0 -132
  80. package/dist/operations/i18n.d.ts +0 -28
  81. package/dist/operations/i18n.js +0 -121
  82. package/dist/operations/index.d.ts +0 -63
  83. package/dist/operations/index.js +0 -1751
  84. package/dist/operations/killswitches.d.ts +0 -28
  85. package/dist/operations/killswitches.js +0 -126
  86. package/dist/operations/mcp-adapter.d.ts +0 -35
  87. package/dist/operations/mcp-adapter.js +0 -94
  88. package/dist/operations/metrics.d.ts +0 -30
  89. package/dist/operations/metrics.js +0 -114
  90. package/dist/operations/ops.d.ts +0 -28
  91. package/dist/operations/ops.js +0 -313
  92. package/dist/operations/projects.d.ts +0 -28
  93. package/dist/operations/projects.js +0 -36
  94. package/dist/operations/sdk-docs.d.ts +0 -28
  95. package/dist/operations/sdk-docs.js +0 -160
  96. package/dist/operations/types.d.ts +0 -138
  97. package/dist/operations/types.js +0 -9
  98. package/dist/operations/universes.d.ts +0 -28
  99. package/dist/operations/universes.js +0 -93
  100. package/dist/operations/util.d.ts +0 -33
  101. package/dist/operations/util.js +0 -9
  102. package/dist/resources/alert-rules.d.ts +0 -50
  103. package/dist/resources/alert-rules.js +0 -75
  104. package/dist/resources/attributes.d.ts +0 -19
  105. package/dist/resources/attributes.js +0 -10
  106. package/dist/resources/configs.d.ts +0 -681
  107. package/dist/resources/configs.js +0 -509
  108. package/dist/resources/events.d.ts +0 -61
  109. package/dist/resources/events.js +0 -42
  110. package/dist/resources/experiments.d.ts +0 -849
  111. package/dist/resources/experiments.js +0 -707
  112. package/dist/resources/gates.d.ts +0 -808
  113. package/dist/resources/gates.js +0 -522
  114. package/dist/resources/i18n.d.ts +0 -84
  115. package/dist/resources/i18n.js +0 -60
  116. package/dist/resources/index.d.ts +0 -2767
  117. package/dist/resources/index.js +0 -2563
  118. package/dist/resources/killswitches.d.ts +0 -436
  119. package/dist/resources/killswitches.js +0 -514
  120. package/dist/resources/metrics.d.ts +0 -54
  121. package/dist/resources/metrics.js +0 -40
  122. package/dist/resources/ops.d.ts +0 -88
  123. package/dist/resources/ops.js +0 -36
  124. package/dist/resources/projects.d.ts +0 -54
  125. package/dist/resources/projects.js +0 -14
  126. package/dist/resources/universes.d.ts +0 -185
  127. package/dist/resources/universes.js +0 -234
  128. package/dist/schemas/alert-rules.d.ts +0 -65
  129. package/dist/schemas/alert-rules.js +0 -37
  130. package/dist/schemas/configs.d.ts +0 -154
  131. package/dist/schemas/configs.js +0 -134
  132. package/dist/schemas/constants.d.ts +0 -6
  133. package/dist/schemas/constants.js +0 -7
  134. package/dist/schemas/experiments.d.ts +0 -229
  135. package/dist/schemas/experiments.js +0 -221
  136. package/dist/schemas/folder.d.ts +0 -10
  137. package/dist/schemas/folder.js +0 -8
  138. package/dist/schemas/gates.d.ts +0 -386
  139. package/dist/schemas/gates.js +0 -190
  140. package/dist/schemas/index.d.ts +0 -11
  141. package/dist/schemas/index.js +0 -762
  142. package/dist/schemas/killswitches.d.ts +0 -110
  143. package/dist/schemas/killswitches.js +0 -226
  144. package/dist/schemas/metric-name.d.ts +0 -5
  145. package/dist/schemas/metric-name.js +0 -6
  146. package/dist/schemas/pagination.d.ts +0 -37
  147. package/dist/schemas/pagination.js +0 -44
  148. package/dist/schemas/universes.d.ts +0 -35
  149. package/dist/schemas/universes.js +0 -55
  150. package/dist/transport.d.ts +0 -30
  151. package/dist/transport.js +0 -44
@@ -0,0 +1,182 @@
1
+ /api/admin/keys:
2
+ get:
3
+ operationId: listKeys
4
+ summary: List API keys
5
+ description: |-
6
+ Returns a single page of the project's API keys ordered by `created_at desc, id desc`, in the standard `{ data, next_cursor }` envelope. Use the `cursor` query parameter to paginate.
7
+
8
+ Response fields are **snake_case** (`created_at`, `revoked_at`, `created_by_email`, `last4`). The raw token is never returned — only its `last4` tail, so a held key can be matched against the masked row. Revoked keys are included (with a non-null `revoked_at`).
9
+
10
+ **Use case:** Audit which keys exist for a project — surface stale or never-expiring keys, or drive a CI check that asserts no `client` key is still active in `prod` after a rotation.
11
+ tags:
12
+ - API Keys
13
+ parameters:
14
+ - $ref: ../components/parameters.yaml#/ProjectId
15
+ - $ref: ../components/parameters.yaml#/PaginationLimit
16
+ - $ref: ../components/parameters.yaml#/PaginationCursor
17
+ - $ref: ../components/parameters.yaml#/Q
18
+ responses:
19
+ "200":
20
+ description: List API keys
21
+ content:
22
+ application/json:
23
+ schema:
24
+ $ref: ../components/schemas/keys.yaml#/ListKeysResponse
25
+ example:
26
+ data:
27
+ - id: 3f2a9b1c-7d4e-4a8f-9c2b-1e5d6f7a8b90
28
+ type: server
29
+ env: prod
30
+ created_at: 2026-05-09T16:01:22.000Z
31
+ revoked_at: null
32
+ expires_at: null
33
+ created_by_email: ana@example.com
34
+ name: production back-end
35
+ scopes:
36
+ - gates:evaluate
37
+ - events:write
38
+ last4: a1b2
39
+ next_cursor: null
40
+ "400":
41
+ $ref: ../components/responses.yaml#/BadRequest
42
+ "401":
43
+ $ref: ../components/responses.yaml#/Unauthorized
44
+ "403":
45
+ $ref: ../components/responses.yaml#/Forbidden
46
+ "404":
47
+ $ref: ../components/responses.yaml#/NotFound
48
+ "409":
49
+ $ref: ../components/responses.yaml#/Conflict
50
+ "422":
51
+ $ref: ../components/responses.yaml#/UnprocessableEntity
52
+ x-error-codes:
53
+ - UNAUTHORIZED
54
+ - FORBIDDEN
55
+ x-cli:
56
+ name: list
57
+ post:
58
+ operationId: createKey
59
+ summary: Create an API key
60
+ description: |-
61
+ Mints a new API key and returns the plaintext token **once** — it is stored hashed and can never be retrieved again, so capture it on creation.
62
+
63
+ Only `type` is required. `env` is **required** for `server` and `client` keys (the key is bound to one environment, which is the read-env isolation boundary); for `admin` and `ops` keys `env` is ignored and the key is pinned to `prod`. Expiry is fixed for some types: `admin` keys always get a 90-day expiry and `ops` keys a short sliding window, regardless of `expiresInDays`. Only `server`/`client` keys count toward the plan key limit.
64
+
65
+ **Use cases**
66
+
67
+ - **Back-end key** — `{ "type": "server", "env": "prod" }` for the production server SDK.
68
+ - **Public browser key** — `{ "type": "client", "env": "prod", "name": "marketing site" }` to embed in the browser SDK.
69
+ - **Scoped, expiring key** — `{ "type": "server", "env": "staging", "scopes": ["gates:evaluate"], "expiresInDays": 30 }` for a time-boxed integration.
70
+ tags:
71
+ - API Keys
72
+ parameters:
73
+ - $ref: ../components/parameters.yaml#/ProjectId
74
+ requestBody:
75
+ required: true
76
+ content:
77
+ application/json:
78
+ schema:
79
+ $ref: ../components/schemas/keys.yaml#/CreateKeyRequest
80
+ examples:
81
+ serverKey:
82
+ summary: Server key — bound to an environment
83
+ description: "A back-end SDK key. `env` is required for `server`/`client` keys."
84
+ value:
85
+ type: server
86
+ env: prod
87
+ name: production back-end
88
+ scopedExpiring:
89
+ summary: Scoped, expiring server key
90
+ description: A time-boxed key limited to gate evaluation, expiring in 30 days.
91
+ value:
92
+ type: server
93
+ env: staging
94
+ scopes:
95
+ - gates:evaluate
96
+ expiresInDays: 30
97
+ opsKey:
98
+ summary: Ops key — restricted, env-agnostic
99
+ description: "The unattended-trigger credential. `env` is ignored (pinned to `prod`); expiry is a short sliding window."
100
+ value:
101
+ type: ops
102
+ responses:
103
+ "201":
104
+ description: Create an API key
105
+ content:
106
+ application/json:
107
+ schema:
108
+ $ref: ../components/schemas/keys.yaml#/CreateKeyResponse
109
+ example:
110
+ id: 3f2a9b1c-7d4e-4a8f-9c2b-1e5d6f7a8b90
111
+ type: server
112
+ env: prod
113
+ key: sdk_server_9c1f4f1f2c0c4a5fa1c2b6d3e7c8e3a1
114
+ expires_at: null
115
+ "400":
116
+ $ref: ../components/responses.yaml#/BadRequest
117
+ "401":
118
+ $ref: ../components/responses.yaml#/Unauthorized
119
+ "403":
120
+ $ref: ../components/responses.yaml#/Forbidden
121
+ "404":
122
+ $ref: ../components/responses.yaml#/NotFound
123
+ "409":
124
+ $ref: ../components/responses.yaml#/Conflict
125
+ "422":
126
+ $ref: ../components/responses.yaml#/UnprocessableEntity
127
+ x-error-codes:
128
+ - UNAUTHORIZED
129
+ - FORBIDDEN
130
+ - VALIDATION
131
+ x-cli:
132
+ name: create
133
+ /api/admin/keys/{id}/revoke:
134
+ post:
135
+ operationId: revokeKey
136
+ summary: Revoke an API key
137
+ description: |-
138
+ Revokes a key by id — stamps its `revoked_at` and deletes the hot-path KV entry so the token stops authenticating immediately. Takes no body.
139
+
140
+ Idempotent: revoking an already-revoked key is a no-op and returns the same `{ id, revoked: true }`. Returns `404` if no such key exists in the project.
141
+
142
+ **Use case:** Rotate a leaked or stale credential — mint the replacement, then revoke the old key.
143
+ tags:
144
+ - API Keys
145
+ parameters:
146
+ - $ref: ../components/parameters.yaml#/ProjectId
147
+ - name: id
148
+ in: path
149
+ required: true
150
+ description: Stable opaque key id (UUID) returned by `create` / `list`.
151
+ schema:
152
+ $ref: ../components/schemas/common.yaml#/ResourceId
153
+ responses:
154
+ "200":
155
+ description: Revoke an API key
156
+ content:
157
+ application/json:
158
+ schema:
159
+ $ref: ../components/schemas/keys.yaml#/RevokeKeyResponse
160
+ example:
161
+ id: 3f2a9b1c-7d4e-4a8f-9c2b-1e5d6f7a8b90
162
+ revoked: true
163
+ "400":
164
+ $ref: ../components/responses.yaml#/BadRequest
165
+ "401":
166
+ $ref: ../components/responses.yaml#/Unauthorized
167
+ "403":
168
+ $ref: ../components/responses.yaml#/Forbidden
169
+ "404":
170
+ $ref: ../components/responses.yaml#/NotFound
171
+ "409":
172
+ $ref: ../components/responses.yaml#/Conflict
173
+ "422":
174
+ $ref: ../components/responses.yaml#/UnprocessableEntity
175
+ x-error-codes:
176
+ - UNAUTHORIZED
177
+ - FORBIDDEN
178
+ - NOT_FOUND
179
+ x-cli:
180
+ name: revoke
181
+ positional:
182
+ - id