@unkey/api 2.1.0 → 2.1.1

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 (202) hide show
  1. package/README.md +10 -6
  2. package/bin/mcp-server.js +568 -166
  3. package/bin/mcp-server.js.map +23 -11
  4. package/dist/commonjs/funcs/keysMigrateKeys.d.ts +23 -0
  5. package/dist/commonjs/funcs/keysMigrateKeys.d.ts.map +1 -0
  6. package/dist/commonjs/funcs/keysMigrateKeys.js +133 -0
  7. package/dist/commonjs/funcs/keysMigrateKeys.js.map +1 -0
  8. package/dist/commonjs/funcs/ratelimitLimit.d.ts +0 -4
  9. package/dist/commonjs/funcs/ratelimitLimit.d.ts.map +1 -1
  10. package/dist/commonjs/funcs/ratelimitLimit.js +0 -4
  11. package/dist/commonjs/funcs/ratelimitLimit.js.map +1 -1
  12. package/dist/commonjs/funcs/ratelimitMultiLimit.d.ts +28 -0
  13. package/dist/commonjs/funcs/ratelimitMultiLimit.d.ts.map +1 -0
  14. package/dist/commonjs/funcs/ratelimitMultiLimit.js +139 -0
  15. package/dist/commonjs/funcs/ratelimitMultiLimit.js.map +1 -0
  16. package/dist/commonjs/lib/config.d.ts +3 -3
  17. package/dist/commonjs/lib/config.js +3 -3
  18. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  19. package/dist/commonjs/mcp-server/server.d.ts.map +1 -1
  20. package/dist/commonjs/mcp-server/server.js +5 -1
  21. package/dist/commonjs/mcp-server/server.js.map +1 -1
  22. package/dist/commonjs/mcp-server/tools/keysMigrateKeys.d.ts +8 -0
  23. package/dist/commonjs/mcp-server/tools/keysMigrateKeys.d.ts.map +1 -0
  24. package/dist/commonjs/mcp-server/tools/keysMigrateKeys.js +70 -0
  25. package/dist/commonjs/mcp-server/tools/keysMigrateKeys.js.map +1 -0
  26. package/dist/commonjs/mcp-server/tools/ratelimitLimit.d.ts.map +1 -1
  27. package/dist/commonjs/mcp-server/tools/ratelimitLimit.js +0 -4
  28. package/dist/commonjs/mcp-server/tools/ratelimitLimit.js.map +1 -1
  29. package/dist/commonjs/mcp-server/tools/ratelimitMultiLimit.d.ts +9 -0
  30. package/dist/commonjs/mcp-server/tools/ratelimitMultiLimit.d.ts.map +1 -0
  31. package/dist/commonjs/mcp-server/tools/ratelimitMultiLimit.js +76 -0
  32. package/dist/commonjs/mcp-server/tools/ratelimitMultiLimit.js.map +1 -0
  33. package/dist/commonjs/models/components/index.d.ts +8 -0
  34. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  35. package/dist/commonjs/models/components/index.js +8 -0
  36. package/dist/commonjs/models/components/index.js.map +1 -1
  37. package/dist/commonjs/models/components/v2keysmigratekeydata.d.ts +113 -0
  38. package/dist/commonjs/models/components/v2keysmigratekeydata.d.ts.map +1 -0
  39. package/dist/commonjs/models/components/v2keysmigratekeydata.js +78 -0
  40. package/dist/commonjs/models/components/v2keysmigratekeydata.js.map +1 -0
  41. package/dist/commonjs/models/components/v2keysmigratekeysmigration.d.ts +25 -0
  42. package/dist/commonjs/models/components/v2keysmigratekeysmigration.d.ts.map +1 -0
  43. package/dist/commonjs/models/components/v2keysmigratekeysmigration.js +60 -0
  44. package/dist/commonjs/models/components/v2keysmigratekeysmigration.js.map +1 -0
  45. package/dist/commonjs/models/components/v2keysmigratekeysrequestbody.d.ts +28 -0
  46. package/dist/commonjs/models/components/v2keysmigratekeysrequestbody.d.ts.map +1 -0
  47. package/dist/commonjs/models/components/v2keysmigratekeysrequestbody.js +63 -0
  48. package/dist/commonjs/models/components/v2keysmigratekeysrequestbody.js.map +1 -0
  49. package/dist/commonjs/models/components/v2keysmigratekeysresponsebody.d.ts +24 -0
  50. package/dist/commonjs/models/components/v2keysmigratekeysresponsebody.d.ts.map +1 -0
  51. package/dist/commonjs/models/components/v2keysmigratekeysresponsebody.js +62 -0
  52. package/dist/commonjs/models/components/v2keysmigratekeysresponsebody.js.map +1 -0
  53. package/dist/commonjs/models/components/v2keysmigratekeysresponsedata.d.ts +26 -0
  54. package/dist/commonjs/models/components/v2keysmigratekeysresponsedata.d.ts.map +1 -0
  55. package/dist/commonjs/models/components/v2keysmigratekeysresponsedata.js +61 -0
  56. package/dist/commonjs/models/components/v2keysmigratekeysresponsedata.js.map +1 -0
  57. package/dist/commonjs/models/components/v2keysverifykeyrequestbody.d.ts +5 -0
  58. package/dist/commonjs/models/components/v2keysverifykeyrequestbody.d.ts.map +1 -1
  59. package/dist/commonjs/models/components/v2keysverifykeyrequestbody.js +2 -0
  60. package/dist/commonjs/models/components/v2keysverifykeyrequestbody.js.map +1 -1
  61. package/dist/commonjs/models/components/v2keysverifykeyresponsedata.d.ts +3 -3
  62. package/dist/commonjs/models/components/v2ratelimitmultilimitcheck.d.ts +84 -0
  63. package/dist/commonjs/models/components/v2ratelimitmultilimitcheck.d.ts.map +1 -0
  64. package/dist/commonjs/models/components/v2ratelimitmultilimitcheck.js +70 -0
  65. package/dist/commonjs/models/components/v2ratelimitmultilimitcheck.js.map +1 -0
  66. package/dist/commonjs/models/components/v2ratelimitmultilimitresponsebody.d.ts +27 -0
  67. package/dist/commonjs/models/components/v2ratelimitmultilimitresponsebody.d.ts.map +1 -0
  68. package/dist/commonjs/models/components/v2ratelimitmultilimitresponsebody.js +62 -0
  69. package/dist/commonjs/models/components/v2ratelimitmultilimitresponsebody.js.map +1 -0
  70. package/dist/commonjs/models/components/v2ratelimitmultilimitresponsedata.d.ts +33 -0
  71. package/dist/commonjs/models/components/v2ratelimitmultilimitresponsedata.d.ts.map +1 -0
  72. package/dist/commonjs/models/components/v2ratelimitmultilimitresponsedata.js +61 -0
  73. package/dist/commonjs/models/components/v2ratelimitmultilimitresponsedata.js.map +1 -0
  74. package/dist/commonjs/sdk/keys.d.ts +12 -0
  75. package/dist/commonjs/sdk/keys.d.ts.map +1 -1
  76. package/dist/commonjs/sdk/keys.js +15 -0
  77. package/dist/commonjs/sdk/keys.js.map +1 -1
  78. package/dist/commonjs/sdk/ratelimit.d.ts +17 -4
  79. package/dist/commonjs/sdk/ratelimit.d.ts.map +1 -1
  80. package/dist/commonjs/sdk/ratelimit.js +20 -4
  81. package/dist/commonjs/sdk/ratelimit.js.map +1 -1
  82. package/dist/commonjs/types/enums.d.ts +10 -6
  83. package/dist/commonjs/types/enums.d.ts.map +1 -1
  84. package/dist/commonjs/types/enums.js +76 -2
  85. package/dist/commonjs/types/enums.js.map +1 -1
  86. package/dist/commonjs/types/index.d.ts +0 -1
  87. package/dist/commonjs/types/index.d.ts.map +1 -1
  88. package/dist/commonjs/types/index.js +1 -3
  89. package/dist/commonjs/types/index.js.map +1 -1
  90. package/dist/esm/funcs/keysMigrateKeys.d.ts +23 -0
  91. package/dist/esm/funcs/keysMigrateKeys.d.ts.map +1 -0
  92. package/dist/esm/funcs/keysMigrateKeys.js +97 -0
  93. package/dist/esm/funcs/keysMigrateKeys.js.map +1 -0
  94. package/dist/esm/funcs/ratelimitLimit.d.ts +0 -4
  95. package/dist/esm/funcs/ratelimitLimit.d.ts.map +1 -1
  96. package/dist/esm/funcs/ratelimitLimit.js +0 -4
  97. package/dist/esm/funcs/ratelimitLimit.js.map +1 -1
  98. package/dist/esm/funcs/ratelimitMultiLimit.d.ts +28 -0
  99. package/dist/esm/funcs/ratelimitMultiLimit.d.ts.map +1 -0
  100. package/dist/esm/funcs/ratelimitMultiLimit.js +103 -0
  101. package/dist/esm/funcs/ratelimitMultiLimit.js.map +1 -0
  102. package/dist/esm/lib/config.d.ts +3 -3
  103. package/dist/esm/lib/config.js +3 -3
  104. package/dist/esm/mcp-server/mcp-server.js +1 -1
  105. package/dist/esm/mcp-server/server.d.ts.map +1 -1
  106. package/dist/esm/mcp-server/server.js +5 -1
  107. package/dist/esm/mcp-server/server.js.map +1 -1
  108. package/dist/esm/mcp-server/tools/keysMigrateKeys.d.ts +8 -0
  109. package/dist/esm/mcp-server/tools/keysMigrateKeys.d.ts.map +1 -0
  110. package/dist/esm/mcp-server/tools/keysMigrateKeys.js +34 -0
  111. package/dist/esm/mcp-server/tools/keysMigrateKeys.js.map +1 -0
  112. package/dist/esm/mcp-server/tools/ratelimitLimit.d.ts.map +1 -1
  113. package/dist/esm/mcp-server/tools/ratelimitLimit.js +0 -4
  114. package/dist/esm/mcp-server/tools/ratelimitLimit.js.map +1 -1
  115. package/dist/esm/mcp-server/tools/ratelimitMultiLimit.d.ts +9 -0
  116. package/dist/esm/mcp-server/tools/ratelimitMultiLimit.d.ts.map +1 -0
  117. package/dist/esm/mcp-server/tools/ratelimitMultiLimit.js +40 -0
  118. package/dist/esm/mcp-server/tools/ratelimitMultiLimit.js.map +1 -0
  119. package/dist/esm/models/components/index.d.ts +8 -0
  120. package/dist/esm/models/components/index.d.ts.map +1 -1
  121. package/dist/esm/models/components/index.js +8 -0
  122. package/dist/esm/models/components/index.js.map +1 -1
  123. package/dist/esm/models/components/v2keysmigratekeydata.d.ts +113 -0
  124. package/dist/esm/models/components/v2keysmigratekeydata.d.ts.map +1 -0
  125. package/dist/esm/models/components/v2keysmigratekeydata.js +40 -0
  126. package/dist/esm/models/components/v2keysmigratekeydata.js.map +1 -0
  127. package/dist/esm/models/components/v2keysmigratekeysmigration.d.ts +25 -0
  128. package/dist/esm/models/components/v2keysmigratekeysmigration.d.ts.map +1 -0
  129. package/dist/esm/models/components/v2keysmigratekeysmigration.js +22 -0
  130. package/dist/esm/models/components/v2keysmigratekeysmigration.js.map +1 -0
  131. package/dist/esm/models/components/v2keysmigratekeysrequestbody.d.ts +28 -0
  132. package/dist/esm/models/components/v2keysmigratekeysrequestbody.d.ts.map +1 -0
  133. package/dist/esm/models/components/v2keysmigratekeysrequestbody.js +25 -0
  134. package/dist/esm/models/components/v2keysmigratekeysrequestbody.js.map +1 -0
  135. package/dist/esm/models/components/v2keysmigratekeysresponsebody.d.ts +24 -0
  136. package/dist/esm/models/components/v2keysmigratekeysresponsebody.d.ts.map +1 -0
  137. package/dist/esm/models/components/v2keysmigratekeysresponsebody.js +24 -0
  138. package/dist/esm/models/components/v2keysmigratekeysresponsebody.js.map +1 -0
  139. package/dist/esm/models/components/v2keysmigratekeysresponsedata.d.ts +26 -0
  140. package/dist/esm/models/components/v2keysmigratekeysresponsedata.d.ts.map +1 -0
  141. package/dist/esm/models/components/v2keysmigratekeysresponsedata.js +23 -0
  142. package/dist/esm/models/components/v2keysmigratekeysresponsedata.js.map +1 -0
  143. package/dist/esm/models/components/v2keysverifykeyrequestbody.d.ts +5 -0
  144. package/dist/esm/models/components/v2keysverifykeyrequestbody.d.ts.map +1 -1
  145. package/dist/esm/models/components/v2keysverifykeyrequestbody.js +2 -0
  146. package/dist/esm/models/components/v2keysverifykeyrequestbody.js.map +1 -1
  147. package/dist/esm/models/components/v2keysverifykeyresponsedata.d.ts +3 -3
  148. package/dist/esm/models/components/v2ratelimitmultilimitcheck.d.ts +84 -0
  149. package/dist/esm/models/components/v2ratelimitmultilimitcheck.d.ts.map +1 -0
  150. package/dist/esm/models/components/v2ratelimitmultilimitcheck.js +32 -0
  151. package/dist/esm/models/components/v2ratelimitmultilimitcheck.js.map +1 -0
  152. package/dist/esm/models/components/v2ratelimitmultilimitresponsebody.d.ts +27 -0
  153. package/dist/esm/models/components/v2ratelimitmultilimitresponsebody.d.ts.map +1 -0
  154. package/dist/esm/models/components/v2ratelimitmultilimitresponsebody.js +24 -0
  155. package/dist/esm/models/components/v2ratelimitmultilimitresponsebody.js.map +1 -0
  156. package/dist/esm/models/components/v2ratelimitmultilimitresponsedata.d.ts +33 -0
  157. package/dist/esm/models/components/v2ratelimitmultilimitresponsedata.d.ts.map +1 -0
  158. package/dist/esm/models/components/v2ratelimitmultilimitresponsedata.js +23 -0
  159. package/dist/esm/models/components/v2ratelimitmultilimitresponsedata.js.map +1 -0
  160. package/dist/esm/sdk/keys.d.ts +12 -0
  161. package/dist/esm/sdk/keys.d.ts.map +1 -1
  162. package/dist/esm/sdk/keys.js +15 -0
  163. package/dist/esm/sdk/keys.js.map +1 -1
  164. package/dist/esm/sdk/ratelimit.d.ts +17 -4
  165. package/dist/esm/sdk/ratelimit.d.ts.map +1 -1
  166. package/dist/esm/sdk/ratelimit.js +20 -4
  167. package/dist/esm/sdk/ratelimit.js.map +1 -1
  168. package/dist/esm/types/enums.d.ts +10 -6
  169. package/dist/esm/types/enums.d.ts.map +1 -1
  170. package/dist/esm/types/enums.js +38 -1
  171. package/dist/esm/types/enums.js.map +1 -1
  172. package/dist/esm/types/index.d.ts +0 -1
  173. package/dist/esm/types/index.d.ts.map +1 -1
  174. package/dist/esm/types/index.js +0 -1
  175. package/dist/esm/types/index.js.map +1 -1
  176. package/examples/package-lock.json +1 -1
  177. package/jsr.json +1 -1
  178. package/package.json +1 -1
  179. package/src/funcs/keysMigrateKeys.ts +201 -0
  180. package/src/funcs/ratelimitLimit.ts +0 -4
  181. package/src/funcs/ratelimitMultiLimit.ts +213 -0
  182. package/src/lib/config.ts +3 -3
  183. package/src/mcp-server/mcp-server.ts +1 -1
  184. package/src/mcp-server/server.ts +5 -1
  185. package/src/mcp-server/tools/keysMigrateKeys.ts +43 -0
  186. package/src/mcp-server/tools/ratelimitLimit.ts +0 -4
  187. package/src/mcp-server/tools/ratelimitMultiLimit.ts +49 -0
  188. package/src/models/components/index.ts +8 -0
  189. package/src/models/components/v2keysmigratekeydata.ts +171 -0
  190. package/src/models/components/v2keysmigratekeysmigration.ts +61 -0
  191. package/src/models/components/v2keysmigratekeysrequestbody.ts +73 -0
  192. package/src/models/components/v2keysmigratekeysresponsebody.ts +72 -0
  193. package/src/models/components/v2keysmigratekeysresponsedata.ts +69 -0
  194. package/src/models/components/v2keysverifykeyrequestbody.ts +7 -0
  195. package/src/models/components/v2keysverifykeyresponsedata.ts +3 -3
  196. package/src/models/components/v2ratelimitmultilimitcheck.ts +130 -0
  197. package/src/models/components/v2ratelimitmultilimitresponsebody.ts +75 -0
  198. package/src/models/components/v2ratelimitmultilimitresponsedata.ts +76 -0
  199. package/src/sdk/keys.ts +23 -0
  200. package/src/sdk/ratelimit.ts +28 -4
  201. package/src/types/enums.ts +55 -6
  202. package/src/types/index.ts +0 -1
@@ -6,6 +6,7 @@ import { keysAddRoles } from "../funcs/keysAddRoles.js";
6
6
  import { keysCreateKey } from "../funcs/keysCreateKey.js";
7
7
  import { keysDeleteKey } from "../funcs/keysDeleteKey.js";
8
8
  import { keysGetKey } from "../funcs/keysGetKey.js";
9
+ import { keysMigrateKeys } from "../funcs/keysMigrateKeys.js";
9
10
  import { keysRemovePermissions } from "../funcs/keysRemovePermissions.js";
10
11
  import { keysRemoveRoles } from "../funcs/keysRemoveRoles.js";
11
12
  import { keysRerollKey } from "../funcs/keysRerollKey.js";
@@ -129,6 +130,20 @@ export class Keys extends ClientSDK {
129
130
  async getKey(request, options) {
130
131
  return unwrapAsync(keysGetKey(this, request, options));
131
132
  }
133
+ /**
134
+ * Migrate API key(s)
135
+ *
136
+ * @remarks
137
+ * Returns HTTP 200 even on partial success; hashes that could not be migrated are listed under `data.failed`.
138
+ *
139
+ * **Required Permissions**
140
+ * Your root key must have one of the following permissions for basic key information:
141
+ * - `api.*.create_key` (to migrate keys to any API)
142
+ * - `api.<api_id>.create_key` (to migrate keys to a specific API)
143
+ */
144
+ async migrateKeys(request, options) {
145
+ return unwrapAsync(keysMigrateKeys(this, request, options));
146
+ }
132
147
  /**
133
148
  * Remove key permissions
134
149
  *
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/sdk/keys.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,OAAO,IAAK,SAAQ,SAAS;IACjC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,cAAc,CAClB,OAAmD,EACnD,OAAwB;QAExB,OAAO,WAAW,CAAC,kBAAkB,CACnC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,QAAQ,CACZ,OAA6C,EAC7C,OAAwB;QAExB,OAAO,WAAW,CAAC,YAAY,CAC7B,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,SAAS,CACb,OAA8C,EAC9C,OAAwB;QAExB,OAAO,WAAW,CAAC,aAAa,CAC9B,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,SAAS,CACb,OAA8C,EAC9C,OAAwB;QAExB,OAAO,WAAW,CAAC,aAAa,CAC9B,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,MAAM,CACV,OAA2C,EAC3C,OAAwB;QAExB,OAAO,WAAW,CAAC,UAAU,CAC3B,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAAsD,EACtD,OAAwB;QAExB,OAAO,WAAW,CAAC,qBAAqB,CACtC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,WAAW,CACf,OAAgD,EAChD,OAAwB;QAExB,OAAO,WAAW,CAAC,eAAe,CAChC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,KAAK,CAAC,SAAS,CACb,OAA8C,EAC9C,OAAwB;QAExB,OAAO,WAAW,CAAC,aAAa,CAC9B,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,cAAc,CAClB,OAAmD,EACnD,OAAwB;QAExB,OAAO,WAAW,CAAC,kBAAkB,CACnC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,QAAQ,CACZ,OAA6C,EAC7C,OAAwB;QAExB,OAAO,WAAW,CAAC,YAAY,CAC7B,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,aAAa,CACjB,OAAkD,EAClD,OAAwB;QAExB,OAAO,WAAW,CAAC,iBAAiB,CAClC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,SAAS,CACb,OAA8C,EAC9C,OAAwB;QAExB,OAAO,WAAW,CAAC,aAAa,CAC9B,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,SAAS,CACb,OAA8C,EAC9C,OAAwB;QAExB,OAAO,WAAW,CAAC,aAAa,CAC9B,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,MAAM,CACV,OAA2C,EAC3C,OAAwB;QAExB,OAAO,WAAW,CAAC,UAAU,CAC3B,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/sdk/keys.ts"],"names":[],"mappings":"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"}
@@ -42,10 +42,6 @@ export declare class Ratelimit extends ClientSDK {
42
42
  * Your root key must have one of the following permissions:
43
43
  * - `ratelimit.*.limit` (to check limits in any namespace)
44
44
  * - `ratelimit.<namespace_id>.limit` (to check limits in a specific namespace)
45
- *
46
- * **Side Effects**
47
- *
48
- * Records rate limit metrics for analytics and monitoring, updates rate limit counters with sliding window algorithm, and optionally triggers override matching for custom limits.
49
45
  */
50
46
  limit(request: components.V2RatelimitLimitRequestBody, options?: RequestOptions): Promise<components.V2RatelimitLimitResponseBody>;
51
47
  /**
@@ -61,6 +57,23 @@ export declare class Ratelimit extends ClientSDK {
61
57
  * **Permissions:** Requires `ratelimit.*.read_override` or `ratelimit.<namespace_id>.read_override`
62
58
  */
63
59
  listOverrides(request: components.V2RatelimitListOverridesRequestBody, options?: RequestOptions): Promise<components.V2RatelimitListOverridesResponseBody>;
60
+ /**
61
+ * Apply multiple rate limit checks
62
+ *
63
+ * @remarks
64
+ * Check and enforce multiple rate limits in a single request for any identifiers (user IDs, IP addresses, API clients, etc.).
65
+ *
66
+ * Use this to efficiently check multiple rate limits at once. Each rate limit check is independent and returns its own result with a top-level `passed` indicator showing if all checks succeeded.
67
+ *
68
+ * **Response Codes**: Rate limit checks return HTTP 200 regardless of whether limits are exceeded - check the `passed` field to see if all limits passed, or the `success` field in each individual result. 4xx responses indicate auth, namespace existence/deletion, or validation errors (e.g., 410 Gone for deleted namespaces). 5xx responses indicate server errors.
69
+ *
70
+ * **Required Permissions**
71
+ *
72
+ * Your root key must have one of the following permissions:
73
+ * - `ratelimit.*.limit` (to check limits in any namespace)
74
+ * - `ratelimit.<namespace_id>.limit` (to check limits in all specific namespaces being checked)
75
+ */
76
+ multiLimit(request: Array<components.V2RatelimitLimitRequestBody>, options?: RequestOptions): Promise<components.V2RatelimitMultiLimitResponseBody>;
64
77
  /**
65
78
  * Set ratelimit override
66
79
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ratelimit.d.ts","sourceRoot":"","sources":["../../../src/sdk/ratelimit.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAG5D,qBAAa,SAAU,SAAQ,SAAS;IACtC;;;;;;;;;;;OAWG;IACG,cAAc,CAClB,OAAO,EAAE,UAAU,CAAC,oCAAoC,EACxD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,qCAAqC,CAAC;IAQ5D;;;;;;;;;;;OAWG;IACG,WAAW,CACf,OAAO,EAAE,UAAU,CAAC,iCAAiC,EACrD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,kCAAkC,CAAC;IAQzD;;;;;;;;;;;;;;;;;;;OAmBG;IACG,KAAK,CACT,OAAO,EAAE,UAAU,CAAC,2BAA2B,EAC/C,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,4BAA4B,CAAC;IAQnD;;;;;;;;;;;OAWG;IACG,aAAa,CACjB,OAAO,EAAE,UAAU,CAAC,mCAAmC,EACvD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,oCAAoC,CAAC;IAQ3D;;;;;;;;;;;OAWG;IACG,WAAW,CACf,OAAO,EAAE,UAAU,CAAC,iCAAiC,EACrD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,kCAAkC,CAAC;CAO1D"}
1
+ {"version":3,"file":"ratelimit.d.ts","sourceRoot":"","sources":["../../../src/sdk/ratelimit.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAG5D,qBAAa,SAAU,SAAQ,SAAS;IACtC;;;;;;;;;;;OAWG;IACG,cAAc,CAClB,OAAO,EAAE,UAAU,CAAC,oCAAoC,EACxD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,qCAAqC,CAAC;IAQ5D;;;;;;;;;;;OAWG;IACG,WAAW,CACf,OAAO,EAAE,UAAU,CAAC,iCAAiC,EACrD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,kCAAkC,CAAC;IAQzD;;;;;;;;;;;;;;;OAeG;IACG,KAAK,CACT,OAAO,EAAE,UAAU,CAAC,2BAA2B,EAC/C,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,4BAA4B,CAAC;IAQnD;;;;;;;;;;;OAWG;IACG,aAAa,CACjB,OAAO,EAAE,UAAU,CAAC,mCAAmC,EACvD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,oCAAoC,CAAC;IAQ3D;;;;;;;;;;;;;;;OAeG;IACG,UAAU,CACd,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,2BAA2B,CAAC,EACtD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,iCAAiC,CAAC;IAQxD;;;;;;;;;;;OAWG;IACG,WAAW,CACf,OAAO,EAAE,UAAU,CAAC,iCAAiC,EACrD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,kCAAkC,CAAC;CAO1D"}
@@ -5,6 +5,7 @@ import { ratelimitDeleteOverride } from "../funcs/ratelimitDeleteOverride.js";
5
5
  import { ratelimitGetOverride } from "../funcs/ratelimitGetOverride.js";
6
6
  import { ratelimitLimit } from "../funcs/ratelimitLimit.js";
7
7
  import { ratelimitListOverrides } from "../funcs/ratelimitListOverrides.js";
8
+ import { ratelimitMultiLimit } from "../funcs/ratelimitMultiLimit.js";
8
9
  import { ratelimitSetOverride } from "../funcs/ratelimitSetOverride.js";
9
10
  import { ClientSDK } from "../lib/sdks.js";
10
11
  import { unwrapAsync } from "../types/fp.js";
@@ -54,10 +55,6 @@ export class Ratelimit extends ClientSDK {
54
55
  * Your root key must have one of the following permissions:
55
56
  * - `ratelimit.*.limit` (to check limits in any namespace)
56
57
  * - `ratelimit.<namespace_id>.limit` (to check limits in a specific namespace)
57
- *
58
- * **Side Effects**
59
- *
60
- * Records rate limit metrics for analytics and monitoring, updates rate limit counters with sliding window algorithm, and optionally triggers override matching for custom limits.
61
58
  */
62
59
  async limit(request, options) {
63
60
  return unwrapAsync(ratelimitLimit(this, request, options));
@@ -77,6 +74,25 @@ export class Ratelimit extends ClientSDK {
77
74
  async listOverrides(request, options) {
78
75
  return unwrapAsync(ratelimitListOverrides(this, request, options));
79
76
  }
77
+ /**
78
+ * Apply multiple rate limit checks
79
+ *
80
+ * @remarks
81
+ * Check and enforce multiple rate limits in a single request for any identifiers (user IDs, IP addresses, API clients, etc.).
82
+ *
83
+ * Use this to efficiently check multiple rate limits at once. Each rate limit check is independent and returns its own result with a top-level `passed` indicator showing if all checks succeeded.
84
+ *
85
+ * **Response Codes**: Rate limit checks return HTTP 200 regardless of whether limits are exceeded - check the `passed` field to see if all limits passed, or the `success` field in each individual result. 4xx responses indicate auth, namespace existence/deletion, or validation errors (e.g., 410 Gone for deleted namespaces). 5xx responses indicate server errors.
86
+ *
87
+ * **Required Permissions**
88
+ *
89
+ * Your root key must have one of the following permissions:
90
+ * - `ratelimit.*.limit` (to check limits in any namespace)
91
+ * - `ratelimit.<namespace_id>.limit` (to check limits in all specific namespaces being checked)
92
+ */
93
+ async multiLimit(request, options) {
94
+ return unwrapAsync(ratelimitMultiLimit(this, request, options));
95
+ }
80
96
  /**
81
97
  * Set ratelimit override
82
98
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ratelimit.js","sourceRoot":"","sources":["../../../src/sdk/ratelimit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,OAAO,SAAU,SAAQ,SAAS;IACtC;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,cAAc,CAClB,OAAwD,EACxD,OAAwB;QAExB,OAAO,WAAW,CAAC,uBAAuB,CACxC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,WAAW,CACf,OAAqD,EACrD,OAAwB;QAExB,OAAO,WAAW,CAAC,oBAAoB,CACrC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,KAAK,CACT,OAA+C,EAC/C,OAAwB;QAExB,OAAO,WAAW,CAAC,cAAc,CAC/B,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,aAAa,CACjB,OAAuD,EACvD,OAAwB;QAExB,OAAO,WAAW,CAAC,sBAAsB,CACvC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,WAAW,CACf,OAAqD,EACrD,OAAwB;QAExB,OAAO,WAAW,CAAC,oBAAoB,CACrC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"ratelimit.js","sourceRoot":"","sources":["../../../src/sdk/ratelimit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,OAAO,SAAU,SAAQ,SAAS;IACtC;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,cAAc,CAClB,OAAwD,EACxD,OAAwB;QAExB,OAAO,WAAW,CAAC,uBAAuB,CACxC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,WAAW,CACf,OAAqD,EACrD,OAAwB;QAExB,OAAO,WAAW,CAAC,oBAAoB,CACrC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,KAAK,CACT,OAA+C,EAC/C,OAAwB;QAExB,OAAO,WAAW,CAAC,cAAc,CAC/B,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,aAAa,CACjB,OAAuD,EACvD,OAAwB;QAExB,OAAO,WAAW,CAAC,sBAAsB,CACvC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,UAAU,CACd,OAAsD,EACtD,OAAwB;QAExB,OAAO,WAAW,CAAC,mBAAmB,CACpC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,WAAW,CACf,OAAqD,EACrD,OAAwB;QAExB,OAAO,WAAW,CAAC,oBAAoB,CACrC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,12 +1,16 @@
1
+ import * as z from "zod/v3";
1
2
  declare const __brand: unique symbol;
2
3
  export type Unrecognized<T> = T & {
3
4
  [__brand]: "unrecognized";
4
5
  };
5
- export declare function catchUnrecognizedEnum<T>(value: T): Unrecognized<T>;
6
- type Prettify<T> = {
7
- [K in keyof T]: T[K];
8
- } & {};
9
- export type ClosedEnum<T> = T[keyof T];
10
- export type OpenEnum<T> = Prettify<T[keyof T]> | Unrecognized<T[keyof T] extends number ? number : string>;
6
+ export type ClosedEnum<T extends Readonly<Record<string, string | number>>> = T[keyof T];
7
+ export type OpenEnum<T extends Readonly<Record<string, string | number>>> = T[keyof T] | Unrecognized<T[keyof T] extends number ? number : string>;
8
+ export declare function unrecognizedCounter(): {
9
+ count: () => number;
10
+ };
11
+ export declare function inboundSchema<T extends Record<string, string>>(enumObj: T): z.ZodType<OpenEnum<T>, z.ZodTypeDef, unknown>;
12
+ export declare function inboundSchemaInt<T extends Record<string, number | string>>(enumObj: T): z.ZodType<OpenEnum<T>, z.ZodTypeDef, unknown>;
13
+ export declare function outboundSchema<T extends Record<string, string>>(_: T): z.ZodType<string, z.ZodTypeDef, OpenEnum<T>>;
14
+ export declare function outboundSchemaInt<T extends Record<string, number | string>>(_: T): z.ZodType<number, z.ZodTypeDef, OpenEnum<T>>;
11
15
  export {};
12
16
  //# sourceMappingURL=enums.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/types/enums.ts"],"names":[],"mappings":"AAIA,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,CAAC,OAAO,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAEhE,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAElE;AAED,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC;AACjD,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACvC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAClB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GACpB,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/types/enums.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,CAAC,OAAO,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAChE,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,IACxE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACb,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,IACpE,CAAC,CAAC,MAAM,CAAC,CAAC,GACV,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAS9D,wBAAgB,mBAAmB;;EAUlC;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5D,OAAO,EAAE,CAAC,GACT,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAM/C;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACxE,OAAO,EAAE,CAAC,GACT,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAO/C;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7D,CAAC,EAAE,CAAC,GACH,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAE9C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACzE,CAAC,EAAE,CAAC,GACH,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAE9C"}
@@ -1,7 +1,44 @@
1
1
  /*
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
- export function catchUnrecognizedEnum(value) {
4
+ import * as z from "zod/v3";
5
+ function unrecognized(value) {
6
+ unrecognizedCount++;
5
7
  return value;
6
8
  }
9
+ let unrecognizedCount = 0;
10
+ let refCount = 0;
11
+ export function unrecognizedCounter() {
12
+ refCount++;
13
+ const start = unrecognizedCount;
14
+ return {
15
+ count: () => {
16
+ const count = unrecognizedCount - start;
17
+ if (--refCount === 0)
18
+ unrecognizedCount = 0;
19
+ return count;
20
+ },
21
+ };
22
+ }
23
+ export function inboundSchema(enumObj) {
24
+ const options = Object.values(enumObj);
25
+ return z.union([
26
+ ...options.map(x => z.literal(x)),
27
+ z.string().transform(x => unrecognized(x)),
28
+ ]);
29
+ }
30
+ export function inboundSchemaInt(enumObj) {
31
+ // For numeric enums, Object.values returns both numbers and string keys
32
+ const options = Object.values(enumObj).filter(v => typeof v === "number");
33
+ return z.union([
34
+ ...options.map(x => z.literal(x)),
35
+ z.number().int().transform(x => unrecognized(x)),
36
+ ]);
37
+ }
38
+ export function outboundSchema(_) {
39
+ return z.string();
40
+ }
41
+ export function outboundSchemaInt(_) {
42
+ return z.number().int();
43
+ }
7
44
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/types/enums.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,UAAU,qBAAqB,CAAI,KAAQ;IAC/C,OAAO,KAAwB,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/types/enums.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAU5B,SAAS,YAAY,CAAI,KAAQ;IAC/B,iBAAiB,EAAE,CAAC;IACpB,OAAO,KAAwB,CAAC;AAClC,CAAC;AAED,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAC1B,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,MAAM,UAAU,mBAAmB;IACjC,QAAQ,EAAE,CAAC;IACX,MAAM,KAAK,GAAG,iBAAiB,CAAC;IAChC,OAAO;QACL,KAAK,EAAE,GAAG,EAAE;YACV,MAAM,KAAK,GAAG,iBAAiB,GAAG,KAAK,CAAC;YACxC,IAAI,EAAE,QAAQ,KAAK,CAAC;gBAAE,iBAAiB,GAAG,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAAU;IAEV,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,CAAC,KAAK,CAAC;QACb,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;KACpC,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAU;IAEV,wEAAwE;IACxE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC1E,OAAO,CAAC,CAAC,KAAK,CAAC;QACb,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;KAC1C,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,CAAI;IAEJ,OAAO,CAAC,CAAC,MAAM,EAAS,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,CAAI;IAEJ,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAS,CAAC;AACjC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  export { blobLikeSchema, isBlobLike } from "./blobs.js";
2
- export { catchUnrecognizedEnum } from "./enums.js";
3
2
  export type { ClosedEnum, OpenEnum, Unrecognized } from "./enums.js";
4
3
  export type { Result } from "./fp.js";
5
4
  export type { PageIterator, Paginator } from "./operations.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -2,7 +2,6 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
4
  export { blobLikeSchema, isBlobLike } from "./blobs.js";
5
- export { catchUnrecognizedEnum } from "./enums.js";
6
5
  export { createPageIterator } from "./operations.js";
7
6
  export { RFCDate } from "./rfcdate.js";
8
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "..": {
20
20
  "name": "@unkey/api",
21
- "version": "2.1.0",
21
+ "version": "2.1.1",
22
22
  "dependencies": {
23
23
  "zod": "^3.25.0 || ^4.0.0"
24
24
  },
package/jsr.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  {
4
4
  "name": "@unkey/api",
5
- "version": "2.1.0",
5
+ "version": "2.1.1",
6
6
  "exports": {
7
7
  ".": "./src/index.ts",
8
8
  "./models/errors": "./src/models/errors/index.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unkey/api",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "author": "Speakeasy",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1,201 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { UnkeyCore } from "../core.js";
6
+ import { encodeJSON } from "../lib/encodings.js";
7
+ import * as M from "../lib/matchers.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import * as components from "../models/components/index.js";
14
+ import {
15
+ ConnectionError,
16
+ InvalidRequestError,
17
+ RequestAbortedError,
18
+ RequestTimeoutError,
19
+ UnexpectedClientError,
20
+ } from "../models/errors/httpclienterrors.js";
21
+ import * as errors from "../models/errors/index.js";
22
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
23
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
24
+ import { UnkeyError } from "../models/errors/unkeyerror.js";
25
+ import { APICall, APIPromise } from "../types/async.js";
26
+ import { Result } from "../types/fp.js";
27
+
28
+ /**
29
+ * Migrate API key(s)
30
+ *
31
+ * @remarks
32
+ * Returns HTTP 200 even on partial success; hashes that could not be migrated are listed under `data.failed`.
33
+ *
34
+ * **Required Permissions**
35
+ * Your root key must have one of the following permissions for basic key information:
36
+ * - `api.*.create_key` (to migrate keys to any API)
37
+ * - `api.<api_id>.create_key` (to migrate keys to a specific API)
38
+ */
39
+ export function keysMigrateKeys(
40
+ client: UnkeyCore,
41
+ request: components.V2KeysMigrateKeysRequestBody,
42
+ options?: RequestOptions,
43
+ ): APIPromise<
44
+ Result<
45
+ components.V2KeysMigrateKeysResponseBody,
46
+ | errors.BadRequestErrorResponse
47
+ | errors.UnauthorizedErrorResponse
48
+ | errors.ForbiddenErrorResponse
49
+ | errors.NotFoundErrorResponse
50
+ | errors.InternalServerErrorResponse
51
+ | UnkeyError
52
+ | ResponseValidationError
53
+ | ConnectionError
54
+ | RequestAbortedError
55
+ | RequestTimeoutError
56
+ | InvalidRequestError
57
+ | UnexpectedClientError
58
+ | SDKValidationError
59
+ >
60
+ > {
61
+ return new APIPromise($do(
62
+ client,
63
+ request,
64
+ options,
65
+ ));
66
+ }
67
+
68
+ async function $do(
69
+ client: UnkeyCore,
70
+ request: components.V2KeysMigrateKeysRequestBody,
71
+ options?: RequestOptions,
72
+ ): Promise<
73
+ [
74
+ Result<
75
+ components.V2KeysMigrateKeysResponseBody,
76
+ | errors.BadRequestErrorResponse
77
+ | errors.UnauthorizedErrorResponse
78
+ | errors.ForbiddenErrorResponse
79
+ | errors.NotFoundErrorResponse
80
+ | errors.InternalServerErrorResponse
81
+ | UnkeyError
82
+ | ResponseValidationError
83
+ | ConnectionError
84
+ | RequestAbortedError
85
+ | RequestTimeoutError
86
+ | InvalidRequestError
87
+ | UnexpectedClientError
88
+ | SDKValidationError
89
+ >,
90
+ APICall,
91
+ ]
92
+ > {
93
+ const parsed = safeParse(
94
+ request,
95
+ (value) =>
96
+ components.V2KeysMigrateKeysRequestBody$outboundSchema.parse(value),
97
+ "Input validation failed",
98
+ );
99
+ if (!parsed.ok) {
100
+ return [parsed, { status: "invalid" }];
101
+ }
102
+ const payload = parsed.value;
103
+ const body = encodeJSON("body", payload, { explode: true });
104
+
105
+ const path = pathToFunc("/v2/keys.migrateKeys")();
106
+
107
+ const headers = new Headers(compactMap({
108
+ "Content-Type": "application/json",
109
+ Accept: "application/json",
110
+ }));
111
+
112
+ const secConfig = await extractSecurity(client._options.rootKey);
113
+ const securityInput = secConfig == null ? {} : { rootKey: secConfig };
114
+ const requestSecurity = resolveGlobalSecurity(securityInput);
115
+
116
+ const context = {
117
+ options: client._options,
118
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
119
+ operationID: "migrateKeys",
120
+ oAuth2Scopes: null,
121
+
122
+ resolvedSecurity: requestSecurity,
123
+
124
+ securitySource: client._options.rootKey,
125
+ retryConfig: options?.retries
126
+ || client._options.retryConfig
127
+ || {
128
+ strategy: "backoff",
129
+ backoff: {
130
+ initialInterval: 50,
131
+ maxInterval: 1000,
132
+ exponent: 1.5,
133
+ maxElapsedTime: 10000,
134
+ },
135
+ retryConnectionErrors: true,
136
+ }
137
+ || { strategy: "none" },
138
+ retryCodes: options?.retryCodes || ["5XX"],
139
+ };
140
+
141
+ const requestRes = client._createRequest(context, {
142
+ security: requestSecurity,
143
+ method: "POST",
144
+ baseURL: options?.serverURL,
145
+ path: path,
146
+ headers: headers,
147
+ body: body,
148
+ userAgent: client._options.userAgent,
149
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
150
+ }, options);
151
+ if (!requestRes.ok) {
152
+ return [requestRes, { status: "invalid" }];
153
+ }
154
+ const req = requestRes.value;
155
+
156
+ const doResult = await client._do(req, {
157
+ context,
158
+ errorCodes: ["400", "401", "403", "404", "4XX", "500", "5XX"],
159
+ retryConfig: context.retryConfig,
160
+ retryCodes: context.retryCodes,
161
+ });
162
+ if (!doResult.ok) {
163
+ return [doResult, { status: "request-error", request: req }];
164
+ }
165
+ const response = doResult.value;
166
+
167
+ const responseFields = {
168
+ HttpMeta: { Response: response, Request: req },
169
+ };
170
+
171
+ const [result] = await M.match<
172
+ components.V2KeysMigrateKeysResponseBody,
173
+ | errors.BadRequestErrorResponse
174
+ | errors.UnauthorizedErrorResponse
175
+ | errors.ForbiddenErrorResponse
176
+ | errors.NotFoundErrorResponse
177
+ | errors.InternalServerErrorResponse
178
+ | UnkeyError
179
+ | ResponseValidationError
180
+ | ConnectionError
181
+ | RequestAbortedError
182
+ | RequestTimeoutError
183
+ | InvalidRequestError
184
+ | UnexpectedClientError
185
+ | SDKValidationError
186
+ >(
187
+ M.json(200, components.V2KeysMigrateKeysResponseBody$inboundSchema),
188
+ M.jsonErr(400, errors.BadRequestErrorResponse$inboundSchema),
189
+ M.jsonErr(401, errors.UnauthorizedErrorResponse$inboundSchema),
190
+ M.jsonErr(403, errors.ForbiddenErrorResponse$inboundSchema),
191
+ M.jsonErr(404, errors.NotFoundErrorResponse$inboundSchema),
192
+ M.jsonErr(500, errors.InternalServerErrorResponse$inboundSchema),
193
+ M.fail("4XX"),
194
+ M.fail("5XX"),
195
+ )(response, req, { extraFields: responseFields });
196
+ if (!result.ok) {
197
+ return [result, { status: "complete", request: req, response }];
198
+ }
199
+
200
+ return [result, { status: "complete", request: req, response }];
201
+ }
@@ -40,10 +40,6 @@ import { Result } from "../types/fp.js";
40
40
  * Your root key must have one of the following permissions:
41
41
  * - `ratelimit.*.limit` (to check limits in any namespace)
42
42
  * - `ratelimit.<namespace_id>.limit` (to check limits in a specific namespace)
43
- *
44
- * **Side Effects**
45
- *
46
- * Records rate limit metrics for analytics and monitoring, updates rate limit counters with sliding window algorithm, and optionally triggers override matching for custom limits.
47
43
  */
48
44
  export function ratelimitLimit(
49
45
  client: UnkeyCore,