@homeflare/distilled-litellm 0.2.0 → 0.4.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 (390) hide show
  1. package/README.md +48 -12
  2. package/dist/services/a2a.js +1 -1
  3. package/dist/services/a2a_registration.js +1 -1
  4. package/dist/services/access_groups.d.ts +18 -0
  5. package/dist/services/access_groups.d.ts.map +1 -1
  6. package/dist/services/access_groups.js +15 -1
  7. package/dist/services/access_groups.js.map +1 -1
  8. package/dist/services/adaptive_router.js +1 -1
  9. package/dist/services/agents.d.ts +10 -0
  10. package/dist/services/agents.d.ts.map +1 -1
  11. package/dist/services/agents.js +10 -1
  12. package/dist/services/agents.js.map +1 -1
  13. package/dist/services/alerting.js +1 -1
  14. package/dist/services/anthropic_passthrough.js +1 -1
  15. package/dist/services/anthropic_skills.d.ts +7 -1
  16. package/dist/services/anthropic_skills.d.ts.map +1 -1
  17. package/dist/services/anthropic_skills.js +6 -2
  18. package/dist/services/anthropic_skills.js.map +1 -1
  19. package/dist/services/assistants.js +1 -1
  20. package/dist/services/audio.js +1 -1
  21. package/dist/services/audit_logging.d.ts +2 -0
  22. package/dist/services/audit_logging.d.ts.map +1 -1
  23. package/dist/services/audit_logging.js +2 -1
  24. package/dist/services/audit_logging.js.map +1 -1
  25. package/dist/services/auto_router.d.ts +162 -62
  26. package/dist/services/auto_router.d.ts.map +1 -1
  27. package/dist/services/auto_router.js +92 -31
  28. package/dist/services/auto_router.js.map +1 -1
  29. package/dist/services/batch.js +1 -1
  30. package/dist/services/beta_agents.js +1 -1
  31. package/dist/services/beta_mcp.js +1 -1
  32. package/dist/services/budget_management.d.ts +8 -3
  33. package/dist/services/budget_management.d.ts.map +1 -1
  34. package/dist/services/budget_management.js +7 -4
  35. package/dist/services/budget_management.js.map +1 -1
  36. package/dist/services/budget_spend_tracking.d.ts +24 -5
  37. package/dist/services/budget_spend_tracking.d.ts.map +1 -1
  38. package/dist/services/budget_spend_tracking.js +17 -4
  39. package/dist/services/budget_spend_tracking.js.map +1 -1
  40. package/dist/services/cache_settings.js +1 -1
  41. package/dist/services/caching.js +1 -1
  42. package/dist/services/chat_completions.js +1 -1
  43. package/dist/services/claude_code_marketplace.d.ts +11 -10
  44. package/dist/services/claude_code_marketplace.d.ts.map +1 -1
  45. package/dist/services/claude_code_marketplace.js +8 -6
  46. package/dist/services/claude_code_marketplace.js.map +1 -1
  47. package/dist/services/cloudzero.js +1 -1
  48. package/dist/services/completions.js +1 -1
  49. package/dist/services/compliance.js +1 -1
  50. package/dist/services/config_overrides.d.ts +5 -1
  51. package/dist/services/config_overrides.d.ts.map +1 -1
  52. package/dist/services/config_overrides.js +3 -1
  53. package/dist/services/config_overrides.js.map +1 -1
  54. package/dist/services/config_yaml.d.ts +120 -6
  55. package/dist/services/config_yaml.d.ts.map +1 -1
  56. package/dist/services/config_yaml.js +67 -1
  57. package/dist/services/config_yaml.js.map +1 -1
  58. package/dist/services/containers.d.ts +8 -2
  59. package/dist/services/containers.d.ts.map +1 -1
  60. package/dist/services/containers.js +13 -5
  61. package/dist/services/containers.js.map +1 -1
  62. package/dist/services/coordination_redis_settings.js +1 -1
  63. package/dist/services/cost_tracking.d.ts +91 -1
  64. package/dist/services/cost_tracking.d.ts.map +1 -1
  65. package/dist/services/cost_tracking.js +82 -2
  66. package/dist/services/cost_tracking.js.map +1 -1
  67. package/dist/services/credential_management.d.ts +16 -3
  68. package/dist/services/credential_management.d.ts.map +1 -1
  69. package/dist/services/credential_management.js +13 -4
  70. package/dist/services/credential_management.js.map +1 -1
  71. package/dist/services/customer_management.d.ts +25 -2
  72. package/dist/services/customer_management.d.ts.map +1 -1
  73. package/dist/services/customer_management.js +22 -3
  74. package/dist/services/customer_management.js.map +1 -1
  75. package/dist/services/email_management.js +1 -1
  76. package/dist/services/embeddings.js +1 -1
  77. package/dist/services/evals.js +1 -1
  78. package/dist/services/experimental.js +1 -1
  79. package/dist/services/fallback_management.js +1 -1
  80. package/dist/services/files.js +1 -1
  81. package/dist/services/fine_tuning.js +1 -1
  82. package/dist/services/gemini_agents.js +1 -1
  83. package/dist/services/google_genai_endpoints.js +1 -1
  84. package/dist/services/guardrails.d.ts +80 -7
  85. package/dist/services/guardrails.d.ts.map +1 -1
  86. package/dist/services/guardrails.js +37 -1
  87. package/dist/services/guardrails.js.map +1 -1
  88. package/dist/services/health.d.ts +2 -2
  89. package/dist/services/health.d.ts.map +1 -1
  90. package/dist/services/health.js +2 -2
  91. package/dist/services/health.js.map +1 -1
  92. package/dist/services/images.js +1 -1
  93. package/dist/services/index.d.ts +1 -15
  94. package/dist/services/index.d.ts.map +1 -1
  95. package/dist/services/index.js +1 -15
  96. package/dist/services/index.js.map +1 -1
  97. package/dist/services/internal_user_management.d.ts +227 -39
  98. package/dist/services/internal_user_management.d.ts.map +1 -1
  99. package/dist/services/internal_user_management.js +194 -37
  100. package/dist/services/internal_user_management.js.map +1 -1
  101. package/dist/services/invite_links.js +1 -1
  102. package/dist/services/jwt_mappings.d.ts +3 -0
  103. package/dist/services/jwt_mappings.d.ts.map +1 -1
  104. package/dist/services/jwt_mappings.js +4 -1
  105. package/dist/services/jwt_mappings.js.map +1 -1
  106. package/dist/services/key_management.d.ts +116 -50
  107. package/dist/services/key_management.d.ts.map +1 -1
  108. package/dist/services/key_management.js +95 -40
  109. package/dist/services/key_management.js.map +1 -1
  110. package/dist/services/langfuse_passthrough.js +1 -1
  111. package/dist/services/llm_passthrough.d.ts +1199 -0
  112. package/dist/services/llm_passthrough.d.ts.map +1 -0
  113. package/dist/services/llm_passthrough.js +2150 -0
  114. package/dist/services/llm_passthrough.js.map +1 -0
  115. package/dist/services/llm_utils.js +1 -1
  116. package/dist/services/logging_callbacks.js +1 -1
  117. package/dist/services/mcp_byok_oauth.d.ts +18 -11
  118. package/dist/services/mcp_byok_oauth.d.ts.map +1 -1
  119. package/dist/services/mcp_byok_oauth.js +27 -24
  120. package/dist/services/mcp_byok_oauth.js.map +1 -1
  121. package/dist/services/mcp_discoverable.d.ts +34 -0
  122. package/dist/services/mcp_discoverable.d.ts.map +1 -1
  123. package/dist/services/mcp_discoverable.js +51 -1
  124. package/dist/services/mcp_discoverable.js.map +1 -1
  125. package/dist/services/mcp_management.d.ts +90 -2
  126. package/dist/services/mcp_management.d.ts.map +1 -1
  127. package/dist/services/mcp_management.js +115 -3
  128. package/dist/services/mcp_management.js.map +1 -1
  129. package/dist/services/mcp_rest.d.ts +13 -0
  130. package/dist/services/mcp_rest.d.ts.map +1 -1
  131. package/dist/services/mcp_rest.js +10 -2
  132. package/dist/services/mcp_rest.js.map +1 -1
  133. package/dist/services/memory_management.d.ts +2 -0
  134. package/dist/services/memory_management.d.ts.map +1 -1
  135. package/dist/services/memory_management.js +2 -1
  136. package/dist/services/memory_management.js.map +1 -1
  137. package/dist/services/misc.d.ts +86 -1
  138. package/dist/services/misc.d.ts.map +1 -1
  139. package/dist/services/misc.js +126 -2
  140. package/dist/services/misc.js.map +1 -1
  141. package/dist/services/model_management.d.ts +310 -19
  142. package/dist/services/model_management.d.ts.map +1 -1
  143. package/dist/services/model_management.js +240 -7
  144. package/dist/services/model_management.js.map +1 -1
  145. package/dist/services/moderations.js +1 -1
  146. package/dist/services/ocr.js +1 -1
  147. package/dist/services/open_ai_pass_through.d.ts +35 -90
  148. package/dist/services/open_ai_pass_through.d.ts.map +1 -1
  149. package/dist/services/open_ai_pass_through.js +41 -139
  150. package/dist/services/open_ai_pass_through.js.map +1 -1
  151. package/dist/services/organization_management.d.ts +21 -1
  152. package/dist/services/organization_management.d.ts.map +1 -1
  153. package/dist/services/organization_management.js +20 -2
  154. package/dist/services/organization_management.js.map +1 -1
  155. package/dist/services/plugins.js +1 -1
  156. package/dist/services/policies.d.ts +2 -0
  157. package/dist/services/policies.d.ts.map +1 -1
  158. package/dist/services/policies.js +3 -1
  159. package/dist/services/policies.js.map +1 -1
  160. package/dist/services/policy_engine.d.ts +6 -0
  161. package/dist/services/policy_engine.d.ts.map +1 -1
  162. package/dist/services/policy_engine.js +4 -1
  163. package/dist/services/policy_engine.js.map +1 -1
  164. package/dist/services/project_management.d.ts +15 -0
  165. package/dist/services/project_management.d.ts.map +1 -1
  166. package/dist/services/project_management.js +14 -1
  167. package/dist/services/project_management.js.map +1 -1
  168. package/dist/services/prompts.js +1 -1
  169. package/dist/services/public.d.ts +124 -0
  170. package/dist/services/public.d.ts.map +1 -1
  171. package/dist/services/public.js +158 -1
  172. package/dist/services/public.js.map +1 -1
  173. package/dist/services/rag.js +1 -1
  174. package/dist/services/realtime.d.ts +4 -26
  175. package/dist/services/realtime.d.ts.map +1 -1
  176. package/dist/services/realtime.js +7 -57
  177. package/dist/services/realtime.js.map +1 -1
  178. package/dist/services/rerank.d.ts +72 -0
  179. package/dist/services/rerank.d.ts.map +1 -1
  180. package/dist/services/rerank.js +61 -4
  181. package/dist/services/rerank.js.map +1 -1
  182. package/dist/services/responses.d.ts +30 -0
  183. package/dist/services/responses.d.ts.map +1 -1
  184. package/dist/services/responses.js +59 -1
  185. package/dist/services/responses.js.map +1 -1
  186. package/dist/services/router_settings.js +1 -1
  187. package/dist/services/rust_control_plane.js +1 -1
  188. package/dist/services/scim.d.ts +41 -1
  189. package/dist/services/scim.d.ts.map +1 -1
  190. package/dist/services/scim.js +60 -2
  191. package/dist/services/scim.js.map +1 -1
  192. package/dist/services/search.js +1 -1
  193. package/dist/services/search_tools.js +1 -1
  194. package/dist/services/settings.d.ts +88 -0
  195. package/dist/services/settings.d.ts.map +1 -1
  196. package/dist/services/settings.js +113 -1
  197. package/dist/services/settings.js.map +1 -1
  198. package/dist/services/sso_settings.d.ts +1 -1
  199. package/dist/services/sso_settings.d.ts.map +1 -1
  200. package/dist/services/sso_settings.js +1 -1
  201. package/dist/services/sso_settings.js.map +1 -1
  202. package/dist/services/tag_management.d.ts +7 -0
  203. package/dist/services/tag_management.d.ts.map +1 -1
  204. package/dist/services/tag_management.js +8 -1
  205. package/dist/services/tag_management.js.map +1 -1
  206. package/dist/services/team_management.d.ts +265 -17
  207. package/dist/services/team_management.d.ts.map +1 -1
  208. package/dist/services/team_management.js +247 -12
  209. package/dist/services/team_management.js.map +1 -1
  210. package/dist/services/tools.js +1 -1
  211. package/dist/services/ui_settings.js +1 -1
  212. package/dist/services/ui_theme_settings.js +1 -1
  213. package/dist/services/usage_ai.js +1 -1
  214. package/dist/services/vantage.js +1 -1
  215. package/dist/services/vector_store_management.js +1 -1
  216. package/dist/services/vector_stores.js +1 -1
  217. package/dist/services/videos.js +1 -1
  218. package/dist/services/web_socket.d.ts +0 -18
  219. package/dist/services/web_socket.d.ts.map +1 -1
  220. package/dist/services/web_socket.js +1 -33
  221. package/dist/services/web_socket.js.map +1 -1
  222. package/dist/services/workflow_management.js +1 -1
  223. package/package.json +1 -1
  224. package/src/services/a2a.ts +1 -1
  225. package/src/services/a2a_registration.ts +1 -1
  226. package/src/services/access_groups.ts +44 -1
  227. package/src/services/adaptive_router.ts +1 -1
  228. package/src/services/agents.ts +22 -1
  229. package/src/services/alerting.ts +1 -1
  230. package/src/services/anthropic_passthrough.ts +1 -1
  231. package/src/services/anthropic_skills.ts +12 -2
  232. package/src/services/assistants.ts +1 -1
  233. package/src/services/audio.ts +1 -1
  234. package/src/services/audit_logging.ts +4 -1
  235. package/src/services/auto_router.ts +303 -93
  236. package/src/services/batch.ts +1 -1
  237. package/src/services/beta_agents.ts +1 -1
  238. package/src/services/beta_mcp.ts +1 -1
  239. package/src/services/budget_management.ts +12 -4
  240. package/src/services/budget_spend_tracking.ts +38 -6
  241. package/src/services/cache_settings.ts +1 -1
  242. package/src/services/caching.ts +1 -1
  243. package/src/services/chat_completions.ts +1 -1
  244. package/src/services/claude_code_marketplace.ts +20 -14
  245. package/src/services/cloudzero.ts +1 -1
  246. package/src/services/completions.ts +1 -1
  247. package/src/services/compliance.ts +1 -1
  248. package/src/services/config_overrides.ts +8 -2
  249. package/src/services/config_yaml.ts +251 -6
  250. package/src/services/containers.ts +29 -11
  251. package/src/services/coordination_redis_settings.ts +1 -1
  252. package/src/services/cost_tracking.ts +198 -2
  253. package/src/services/credential_management.ts +25 -6
  254. package/src/services/customer_management.ts +49 -3
  255. package/src/services/email_management.ts +1 -1
  256. package/src/services/embeddings.ts +1 -1
  257. package/src/services/evals.ts +1 -1
  258. package/src/services/experimental.ts +1 -1
  259. package/src/services/fallback_management.ts +1 -1
  260. package/src/services/files.ts +1 -1
  261. package/src/services/fine_tuning.ts +1 -1
  262. package/src/services/gemini_agents.ts +1 -1
  263. package/src/services/google_genai_endpoints.ts +1 -1
  264. package/src/services/guardrails.ts +198 -8
  265. package/src/services/health.ts +3 -2
  266. package/src/services/images.ts +1 -1
  267. package/src/services/index.ts +1 -15
  268. package/src/services/internal_user_management.ts +565 -103
  269. package/src/services/invite_links.ts +1 -1
  270. package/src/services/jwt_mappings.ts +7 -1
  271. package/src/services/key_management.ts +257 -127
  272. package/src/services/langfuse_passthrough.ts +1 -1
  273. package/src/services/llm_passthrough.ts +4542 -0
  274. package/src/services/llm_utils.ts +1 -1
  275. package/src/services/logging_callbacks.ts +1 -1
  276. package/src/services/mcp_byok_oauth.ts +65 -45
  277. package/src/services/mcp_discoverable.ts +109 -1
  278. package/src/services/mcp_management.ts +258 -3
  279. package/src/services/mcp_rest.ts +30 -5
  280. package/src/services/memory_management.ts +4 -1
  281. package/src/services/misc.ts +269 -2
  282. package/src/services/model_management.ts +666 -21
  283. package/src/services/moderations.ts +1 -1
  284. package/src/services/ocr.ts +1 -1
  285. package/src/services/open_ai_pass_through.ts +81 -286
  286. package/src/services/organization_management.ts +44 -2
  287. package/src/services/plugins.ts +1 -1
  288. package/src/services/policies.ts +5 -1
  289. package/src/services/policy_engine.ts +10 -1
  290. package/src/services/project_management.ts +33 -1
  291. package/src/services/prompts.ts +1 -1
  292. package/src/services/public.ts +356 -1
  293. package/src/services/rag.ts +1 -1
  294. package/src/services/realtime.ts +11 -111
  295. package/src/services/rerank.ts +187 -7
  296. package/src/services/responses.ts +117 -1
  297. package/src/services/router_settings.ts +1 -1
  298. package/src/services/rust_control_plane.ts +1 -1
  299. package/src/services/scim.ts +134 -3
  300. package/src/services/search.ts +1 -1
  301. package/src/services/search_tools.ts +1 -1
  302. package/src/services/settings.ts +278 -1
  303. package/src/services/sso_settings.ts +2 -1
  304. package/src/services/tag_management.ts +15 -1
  305. package/src/services/team_management.ts +676 -37
  306. package/src/services/tools.ts +1 -1
  307. package/src/services/ui_settings.ts +1 -1
  308. package/src/services/ui_theme_settings.ts +1 -1
  309. package/src/services/usage_ai.ts +1 -1
  310. package/src/services/vantage.ts +1 -1
  311. package/src/services/vector_store_management.ts +1 -1
  312. package/src/services/vector_stores.ts +1 -1
  313. package/src/services/videos.ts +1 -1
  314. package/src/services/web_socket.ts +1 -61
  315. package/src/services/workflow_management.ts +1 -1
  316. package/dist/services/anthropic_pass_through.d.ts +0 -70
  317. package/dist/services/anthropic_pass_through.d.ts.map +0 -1
  318. package/dist/services/anthropic_pass_through.js +0 -114
  319. package/dist/services/anthropic_pass_through.js.map +0 -1
  320. package/dist/services/assembly_ai_eu_pass_through.d.ts +0 -70
  321. package/dist/services/assembly_ai_eu_pass_through.d.ts.map +0 -1
  322. package/dist/services/assembly_ai_eu_pass_through.js +0 -114
  323. package/dist/services/assembly_ai_eu_pass_through.js.map +0 -1
  324. package/dist/services/assembly_ai_pass_through.d.ts +0 -70
  325. package/dist/services/assembly_ai_pass_through.d.ts.map +0 -1
  326. package/dist/services/assembly_ai_pass_through.js +0 -114
  327. package/dist/services/assembly_ai_pass_through.js.map +0 -1
  328. package/dist/services/aws_comprehend_medical_pass_through.d.ts +0 -36
  329. package/dist/services/aws_comprehend_medical_pass_through.d.ts.map +0 -1
  330. package/dist/services/aws_comprehend_medical_pass_through.js +0 -56
  331. package/dist/services/aws_comprehend_medical_pass_through.js.map +0 -1
  332. package/dist/services/azure_ai_pass_through.d.ts +0 -70
  333. package/dist/services/azure_ai_pass_through.d.ts.map +0 -1
  334. package/dist/services/azure_ai_pass_through.js +0 -112
  335. package/dist/services/azure_ai_pass_through.js.map +0 -1
  336. package/dist/services/azure_pass_through.d.ts +0 -70
  337. package/dist/services/azure_pass_through.d.ts.map +0 -1
  338. package/dist/services/azure_pass_through.js +0 -107
  339. package/dist/services/azure_pass_through.js.map +0 -1
  340. package/dist/services/bedrock_pass_through.d.ts +0 -70
  341. package/dist/services/bedrock_pass_through.d.ts.map +0 -1
  342. package/dist/services/bedrock_pass_through.js +0 -114
  343. package/dist/services/bedrock_pass_through.js.map +0 -1
  344. package/dist/services/cohere_pass_through.d.ts +0 -70
  345. package/dist/services/cohere_pass_through.d.ts.map +0 -1
  346. package/dist/services/cohere_pass_through.js +0 -112
  347. package/dist/services/cohere_pass_through.js.map +0 -1
  348. package/dist/services/cursor_pass_through.d.ts +0 -70
  349. package/dist/services/cursor_pass_through.d.ts.map +0 -1
  350. package/dist/services/cursor_pass_through.js +0 -112
  351. package/dist/services/cursor_pass_through.js.map +0 -1
  352. package/dist/services/google_ai_studio_pass_through.d.ts +0 -70
  353. package/dist/services/google_ai_studio_pass_through.d.ts.map +0 -1
  354. package/dist/services/google_ai_studio_pass_through.js +0 -112
  355. package/dist/services/google_ai_studio_pass_through.js.map +0 -1
  356. package/dist/services/milvus_pass_through.d.ts +0 -70
  357. package/dist/services/milvus_pass_through.d.ts.map +0 -1
  358. package/dist/services/milvus_pass_through.js +0 -112
  359. package/dist/services/milvus_pass_through.js.map +0 -1
  360. package/dist/services/mistral_pass_through.d.ts +0 -70
  361. package/dist/services/mistral_pass_through.d.ts.map +0 -1
  362. package/dist/services/mistral_pass_through.js +0 -114
  363. package/dist/services/mistral_pass_through.js.map +0 -1
  364. package/dist/services/vertex_ai_pass_through.d.ts +0 -180
  365. package/dist/services/vertex_ai_pass_through.d.ts.map +0 -1
  366. package/dist/services/vertex_ai_pass_through.js +0 -334
  367. package/dist/services/vertex_ai_pass_through.js.map +0 -1
  368. package/dist/services/vllm_pass_through.d.ts +0 -70
  369. package/dist/services/vllm_pass_through.d.ts.map +0 -1
  370. package/dist/services/vllm_pass_through.js +0 -104
  371. package/dist/services/vllm_pass_through.js.map +0 -1
  372. package/dist/services/watsonx_pass_through.d.ts +0 -70
  373. package/dist/services/watsonx_pass_through.d.ts.map +0 -1
  374. package/dist/services/watsonx_pass_through.js +0 -114
  375. package/dist/services/watsonx_pass_through.js.map +0 -1
  376. package/src/services/anthropic_pass_through.ts +0 -233
  377. package/src/services/assembly_ai_eu_pass_through.ts +0 -237
  378. package/src/services/assembly_ai_pass_through.ts +0 -237
  379. package/src/services/aws_comprehend_medical_pass_through.ts +0 -109
  380. package/src/services/azure_ai_pass_through.ts +0 -231
  381. package/src/services/azure_pass_through.ts +0 -227
  382. package/src/services/bedrock_pass_through.ts +0 -229
  383. package/src/services/cohere_pass_through.ts +0 -227
  384. package/src/services/cursor_pass_through.ts +0 -227
  385. package/src/services/google_ai_studio_pass_through.ts +0 -227
  386. package/src/services/milvus_pass_through.ts +0 -227
  387. package/src/services/mistral_pass_through.ts +0 -229
  388. package/src/services/vertex_ai_pass_through.ts +0 -684
  389. package/src/services/vllm_pass_through.ts +0 -227
  390. package/src/services/watsonx_pass_through.ts +0 -229
@@ -23,6 +23,28 @@ declare const Forbidden_base: S.Class<Forbidden, S.TaggedStruct<"Forbidden", {
23
23
  });
24
24
  export declare class Forbidden extends /*@__PURE__*/ Forbidden_base {
25
25
  }
26
+ declare const KeyDeleteForbidden_base: S.Class<KeyDeleteForbidden, S.TaggedStruct<"KeyDeleteForbidden", {
27
+ readonly code: any;
28
+ readonly message: any;
29
+ }>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
30
+ "@distilled.cloud/error/categories": {
31
+ AuthError: true;
32
+ };
33
+ });
34
+ /** The caller may not delete a key it named (it is not a proxy admin and not allowed to modify that key). LiteLLM answers 403 with the message `You are not authorized to delete this key`; the key was not deleted. */
35
+ export declare class KeyDeleteForbidden extends /*@__PURE__*/ KeyDeleteForbidden_base {
36
+ }
37
+ declare const KeyNotFound_base: S.Class<KeyNotFound, S.TaggedStruct<"KeyNotFound", {
38
+ readonly code: any;
39
+ readonly message: any;
40
+ }>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
41
+ "@distilled.cloud/error/categories": {
42
+ BadRequestError: true;
43
+ };
44
+ });
45
+ /** No key matches what /key/delete was asked to delete: the alias (or key) is absent, or another caller deleted it first. LiteLLM answers 404 with the message `No keys found`. Whether the key is still there is a question for /key/list, not for this error. */
46
+ export declare class KeyNotFound extends /*@__PURE__*/ KeyNotFound_base {
47
+ }
26
48
  declare const NotFound_base: S.Class<NotFound, S.TaggedStruct<"NotFound", {
27
49
  readonly code: any;
28
50
  readonly message: any;
@@ -43,13 +65,55 @@ declare const UnprocessableEntity_base: S.Class<UnprocessableEntity, S.TaggedStr
43
65
  });
44
66
  export declare class UnprocessableEntity extends /*@__PURE__*/ UnprocessableEntity_base {
45
67
  }
68
+ export type LiteLLMObjectPermissionBaseAgentAccessGroupsList = Array<string>;
69
+ export declare const LiteLLMObjectPermissionBaseAgentAccessGroupsList: S.Schema<LiteLLMObjectPermissionBaseAgentAccessGroupsList>;
70
+ export type LiteLLMObjectPermissionBaseAgentsList = Array<string>;
71
+ export declare const LiteLLMObjectPermissionBaseAgentsList: S.Schema<LiteLLMObjectPermissionBaseAgentsList>;
72
+ export type LiteLLMObjectPermissionBaseBlockedToolsList = Array<string>;
73
+ export declare const LiteLLMObjectPermissionBaseBlockedToolsList: S.Schema<LiteLLMObjectPermissionBaseBlockedToolsList>;
74
+ export type LiteLLMObjectPermissionBaseMcpAccessGroupsList = Array<string>;
75
+ export declare const LiteLLMObjectPermissionBaseMcpAccessGroupsList: S.Schema<LiteLLMObjectPermissionBaseMcpAccessGroupsList>;
76
+ export type LiteLLMObjectPermissionBaseMcpServersList = Array<string>;
77
+ export declare const LiteLLMObjectPermissionBaseMcpServersList: S.Schema<LiteLLMObjectPermissionBaseMcpServersList>;
78
+ export type LiteLLMObjectPermissionBaseMcpToolPermissionsValueList = Array<string>;
79
+ export declare const LiteLLMObjectPermissionBaseMcpToolPermissionsValueList: S.Schema<LiteLLMObjectPermissionBaseMcpToolPermissionsValueList>;
80
+ export type LiteLLMObjectPermissionBaseMcpToolPermissionsMap = {
81
+ [key: string]: LiteLLMObjectPermissionBaseMcpToolPermissionsValueList | undefined;
82
+ };
83
+ export declare const LiteLLMObjectPermissionBaseMcpToolPermissionsMap: S.Schema<LiteLLMObjectPermissionBaseMcpToolPermissionsMap>;
84
+ export type LiteLLMObjectPermissionBaseMcpToolsetsList = Array<string>;
85
+ export declare const LiteLLMObjectPermissionBaseMcpToolsetsList: S.Schema<LiteLLMObjectPermissionBaseMcpToolsetsList>;
86
+ export type LiteLLMObjectPermissionBaseModelsList = Array<string>;
87
+ export declare const LiteLLMObjectPermissionBaseModelsList: S.Schema<LiteLLMObjectPermissionBaseModelsList>;
88
+ export type LiteLLMObjectPermissionBaseSearchToolsList = Array<string>;
89
+ export declare const LiteLLMObjectPermissionBaseSearchToolsList: S.Schema<LiteLLMObjectPermissionBaseSearchToolsList>;
90
+ export type LiteLLMObjectPermissionBaseSkillsList = Array<string>;
91
+ export declare const LiteLLMObjectPermissionBaseSkillsList: S.Schema<LiteLLMObjectPermissionBaseSkillsList>;
92
+ export type LiteLLMObjectPermissionBaseVectorStoresList = Array<string>;
93
+ export declare const LiteLLMObjectPermissionBaseVectorStoresList: S.Schema<LiteLLMObjectPermissionBaseVectorStoresList>;
94
+ export interface LiteLLMObjectPermissionBase {
95
+ agent_access_groups?: LiteLLMObjectPermissionBaseAgentAccessGroupsList | null;
96
+ agents?: LiteLLMObjectPermissionBaseAgentsList | null;
97
+ blocked_tools?: LiteLLMObjectPermissionBaseBlockedToolsList | null;
98
+ mcp_access_groups?: LiteLLMObjectPermissionBaseMcpAccessGroupsList | null;
99
+ mcp_servers?: LiteLLMObjectPermissionBaseMcpServersList | null;
100
+ mcp_tool_permissions?: LiteLLMObjectPermissionBaseMcpToolPermissionsMap | null;
101
+ mcp_tool_search_enabled?: boolean | null;
102
+ mcp_toolsets?: LiteLLMObjectPermissionBaseMcpToolsetsList | null;
103
+ models?: LiteLLMObjectPermissionBaseModelsList | null;
104
+ search_tools?: LiteLLMObjectPermissionBaseSearchToolsList | null;
105
+ skills?: LiteLLMObjectPermissionBaseSkillsList | null;
106
+ vector_stores?: LiteLLMObjectPermissionBaseVectorStoresList | null;
107
+ }
108
+ export declare const LiteLLMObjectPermissionBase: S.Schema<LiteLLMObjectPermissionBase>;
46
109
  export type BulkUpdateKeyRequestItemTagsList = Array<string>;
47
110
  export declare const BulkUpdateKeyRequestItemTagsList: S.Schema<BulkUpdateKeyRequestItemTagsList>;
48
- /** Individual key update request item */
111
+ /** One /key/bulk_update item; only the fields it carries are written. */
49
112
  export interface BulkUpdateKeyRequestItem {
50
113
  budget_id?: string | null;
51
114
  key: string;
52
115
  max_budget?: number | null;
116
+ object_permission?: LiteLLMObjectPermissionBase | null;
53
117
  tags?: BulkUpdateKeyRequestItemTagsList | null;
54
118
  team_id?: string | null;
55
119
  }
@@ -234,44 +298,6 @@ export type GenerateKeyFnKeyGeneratePostRequestModelTpmLimitMap = {
234
298
  export declare const GenerateKeyFnKeyGeneratePostRequestModelTpmLimitMap: S.Schema<GenerateKeyFnKeyGeneratePostRequestModelTpmLimitMap>;
235
299
  export type GenerateKeyFnKeyGeneratePostRequestModelsList = Array<unknown>;
236
300
  export declare const GenerateKeyFnKeyGeneratePostRequestModelsList: S.Schema<GenerateKeyFnKeyGeneratePostRequestModelsList>;
237
- export type LiteLLMObjectPermissionBaseAgentAccessGroupsList = Array<string>;
238
- export declare const LiteLLMObjectPermissionBaseAgentAccessGroupsList: S.Schema<LiteLLMObjectPermissionBaseAgentAccessGroupsList>;
239
- export type LiteLLMObjectPermissionBaseAgentsList = Array<string>;
240
- export declare const LiteLLMObjectPermissionBaseAgentsList: S.Schema<LiteLLMObjectPermissionBaseAgentsList>;
241
- export type LiteLLMObjectPermissionBaseBlockedToolsList = Array<string>;
242
- export declare const LiteLLMObjectPermissionBaseBlockedToolsList: S.Schema<LiteLLMObjectPermissionBaseBlockedToolsList>;
243
- export type LiteLLMObjectPermissionBaseMcpAccessGroupsList = Array<string>;
244
- export declare const LiteLLMObjectPermissionBaseMcpAccessGroupsList: S.Schema<LiteLLMObjectPermissionBaseMcpAccessGroupsList>;
245
- export type LiteLLMObjectPermissionBaseMcpServersList = Array<string>;
246
- export declare const LiteLLMObjectPermissionBaseMcpServersList: S.Schema<LiteLLMObjectPermissionBaseMcpServersList>;
247
- export type LiteLLMObjectPermissionBaseMcpToolPermissionsValueList = Array<string>;
248
- export declare const LiteLLMObjectPermissionBaseMcpToolPermissionsValueList: S.Schema<LiteLLMObjectPermissionBaseMcpToolPermissionsValueList>;
249
- export type LiteLLMObjectPermissionBaseMcpToolPermissionsMap = {
250
- [key: string]: LiteLLMObjectPermissionBaseMcpToolPermissionsValueList | undefined;
251
- };
252
- export declare const LiteLLMObjectPermissionBaseMcpToolPermissionsMap: S.Schema<LiteLLMObjectPermissionBaseMcpToolPermissionsMap>;
253
- export type LiteLLMObjectPermissionBaseMcpToolsetsList = Array<string>;
254
- export declare const LiteLLMObjectPermissionBaseMcpToolsetsList: S.Schema<LiteLLMObjectPermissionBaseMcpToolsetsList>;
255
- export type LiteLLMObjectPermissionBaseModelsList = Array<string>;
256
- export declare const LiteLLMObjectPermissionBaseModelsList: S.Schema<LiteLLMObjectPermissionBaseModelsList>;
257
- export type LiteLLMObjectPermissionBaseSearchToolsList = Array<string>;
258
- export declare const LiteLLMObjectPermissionBaseSearchToolsList: S.Schema<LiteLLMObjectPermissionBaseSearchToolsList>;
259
- export type LiteLLMObjectPermissionBaseVectorStoresList = Array<string>;
260
- export declare const LiteLLMObjectPermissionBaseVectorStoresList: S.Schema<LiteLLMObjectPermissionBaseVectorStoresList>;
261
- export interface LiteLLMObjectPermissionBase {
262
- agent_access_groups?: LiteLLMObjectPermissionBaseAgentAccessGroupsList | null;
263
- agents?: LiteLLMObjectPermissionBaseAgentsList | null;
264
- blocked_tools?: LiteLLMObjectPermissionBaseBlockedToolsList | null;
265
- mcp_access_groups?: LiteLLMObjectPermissionBaseMcpAccessGroupsList | null;
266
- mcp_servers?: LiteLLMObjectPermissionBaseMcpServersList | null;
267
- mcp_tool_permissions?: LiteLLMObjectPermissionBaseMcpToolPermissionsMap | null;
268
- mcp_tool_search_enabled?: boolean | null;
269
- mcp_toolsets?: LiteLLMObjectPermissionBaseMcpToolsetsList | null;
270
- models?: LiteLLMObjectPermissionBaseModelsList | null;
271
- search_tools?: LiteLLMObjectPermissionBaseSearchToolsList | null;
272
- vector_stores?: LiteLLMObjectPermissionBaseVectorStoresList | null;
273
- }
274
- export declare const LiteLLMObjectPermissionBase: S.Schema<LiteLLMObjectPermissionBase>;
275
301
  export type GenerateKeyFnKeyGeneratePostRequestPermissionsMap = {
276
302
  [key: string]: unknown | undefined;
277
303
  };
@@ -313,8 +339,10 @@ export interface RetryPolicy {
313
339
  AuthenticationErrorRetries?: number | null;
314
340
  BadRequestErrorRetries?: number | null;
315
341
  ContentPolicyViolationErrorRetries?: number | null;
342
+ DefaultRetries?: number | null;
316
343
  InternalServerErrorRetries?: number | null;
317
344
  RateLimitErrorRetries?: number | null;
345
+ ServiceUnavailableErrorRetries?: number | null;
318
346
  TimeoutErrorRetries?: number | null;
319
347
  }
320
348
  export declare const RetryPolicy: S.Schema<RetryPolicy>;
@@ -322,6 +350,10 @@ export type UpdateRouterConfigModelGroupRetryPolicyMap = {
322
350
  [key: string]: RetryPolicy | undefined;
323
351
  };
324
352
  export declare const UpdateRouterConfigModelGroupRetryPolicyMap: S.Schema<UpdateRouterConfigModelGroupRetryPolicyMap>;
353
+ export type UpdateRouterConfigOptionalPreCallChecksItem = "prompt_caching" | "router_budget_limiting" | "responses_api_deployment_check" | "deployment_affinity" | "session_affinity" | "forward_client_headers_by_model_group" | "enforce_model_rate_limits" | "encrypted_content_affinity";
354
+ export declare const UpdateRouterConfigOptionalPreCallChecksItem: any;
355
+ export type UpdateRouterConfigOptionalPreCallChecksList = Array<UpdateRouterConfigOptionalPreCallChecksItem | (string & {})>;
356
+ export declare const UpdateRouterConfigOptionalPreCallChecksList: S.Schema<UpdateRouterConfigOptionalPreCallChecksList>;
325
357
  export type RoutingGroupModelsList = Array<string>;
326
358
  export declare const RoutingGroupModelsList: S.Schema<RoutingGroupModelsList>;
327
359
  export type RoutingGroupRoutingStrategyArgsMap = {
@@ -354,6 +386,7 @@ export interface UpdateRouterConfig {
354
386
  model_group_alias?: UpdateRouterConfigModelGroupAliasMap | null;
355
387
  model_group_retry_policy?: UpdateRouterConfigModelGroupRetryPolicyMap | null;
356
388
  num_retries?: number | null;
389
+ optional_pre_call_checks?: UpdateRouterConfigOptionalPreCallChecksList | null;
357
390
  retry_after?: number | null;
358
391
  retry_policy?: RetryPolicy | null;
359
392
  routing_groups?: UpdateRouterConfigRoutingGroupsList | null;
@@ -361,6 +394,7 @@ export interface UpdateRouterConfig {
361
394
  routing_strategy_args?: UpdateRouterConfigRoutingStrategyArgsMap | null;
362
395
  tag_routing_prefix?: string | null;
363
396
  timeout?: number | null;
397
+ weights?: unknown | null;
364
398
  }
365
399
  export declare const UpdateRouterConfig: S.Schema<UpdateRouterConfig>;
366
400
  export type GenerateKeyFnKeyGeneratePostRequestRpmLimitType = "guaranteed_throughput" | "best_effort_throughput" | "dynamic";
@@ -394,6 +428,7 @@ export interface GenerateKeyFnKeyGeneratePostRequest {
394
428
  disable_global_guardrails?: boolean | null;
395
429
  duration?: string | null;
396
430
  enable_prompt_caching?: boolean | null;
431
+ end_user_budget_id?: string | null;
397
432
  enforced_params?: GenerateKeyFnKeyGeneratePostRequestEnforcedParamsList | null;
398
433
  guardrails?: GenerateKeyFnKeyGeneratePostRequestGuardrailsList | null;
399
434
  key?: string | null;
@@ -426,6 +461,7 @@ export interface GenerateKeyFnKeyGeneratePostRequest {
426
461
  tags?: GenerateKeyFnKeyGeneratePostRequestTagsList | null;
427
462
  team_id?: string | null;
428
463
  throttle_on_budget_exceeded?: boolean | null;
464
+ tpd_limit?: number | null;
429
465
  tpm_limit?: number | null;
430
466
  tpm_limit_type?: GenerateKeyFnKeyGeneratePostRequestTpmLimitType | (string & {}) | null;
431
467
  user_id?: string | null;
@@ -526,6 +562,7 @@ export interface GenerateKeyResponse {
526
562
  disable_global_guardrails?: boolean | null;
527
563
  duration?: string | null;
528
564
  enable_prompt_caching?: boolean | null;
565
+ end_user_budget_id?: string | null;
529
566
  enforced_params?: GenerateKeyResponseEnforcedParamsList | null;
530
567
  expires?: string | null;
531
568
  guardrails?: GenerateKeyResponseGuardrailsList | null;
@@ -558,6 +595,7 @@ export interface GenerateKeyResponse {
558
595
  throttle_on_budget_exceeded?: boolean | null;
559
596
  token?: string | null;
560
597
  token_id?: string | null;
598
+ tpd_limit?: number | null;
561
599
  tpm_limit?: number | null;
562
600
  tpm_limit_type?: GenerateKeyResponseTpmLimitType | null;
563
601
  updated_at?: string | null;
@@ -660,6 +698,7 @@ export interface GenerateServiceAccountKeyFnKeyServiceAccountGeneratePostRequest
660
698
  disable_global_guardrails?: boolean | null;
661
699
  duration?: string | null;
662
700
  enable_prompt_caching?: boolean | null;
701
+ end_user_budget_id?: string | null;
663
702
  enforced_params?: GenerateServiceAccountKeyFnKeyServiceAccountGeneratePostRequestEnforcedParamsList | null;
664
703
  guardrails?: GenerateServiceAccountKeyFnKeyServiceAccountGeneratePostRequestGuardrailsList | null;
665
704
  key?: string | null;
@@ -692,6 +731,7 @@ export interface GenerateServiceAccountKeyFnKeyServiceAccountGeneratePostRequest
692
731
  tags?: GenerateServiceAccountKeyFnKeyServiceAccountGeneratePostRequestTagsList | null;
693
732
  team_id?: string | null;
694
733
  throttle_on_budget_exceeded?: boolean | null;
734
+ tpd_limit?: number | null;
695
735
  tpm_limit?: number | null;
696
736
  tpm_limit_type?: GenerateServiceAccountKeyFnKeyServiceAccountGeneratePostRequestTpmLimitType | (string & {}) | null;
697
737
  user_id?: string | null;
@@ -702,7 +742,7 @@ export interface GenerateServiceAccountKeyFnKeyServiceAccountGeneratePostRespons
702
742
  }
703
743
  export declare const GenerateServiceAccountKeyFnKeyServiceAccountGeneratePostResponse: S.Schema<GenerateServiceAccountKeyFnKeyServiceAccountGeneratePostResponse>;
704
744
  export interface GetInfoKeyFnKeyInfoRequest {
705
- /** Key in the request parameters */
745
+ /** Key to look up. Pass the key's sha256 hash so the raw key stays out of URLs and access logs. Example key='d5345c0ecc68ae6295c69f91926b2bd379e25481a40c34b5884d157a9f65d8fa' */
706
746
  key?: string;
707
747
  }
708
748
  export declare const GetInfoKeyFnKeyInfoRequest: S.Schema<GetInfoKeyFnKeyInfoRequest>;
@@ -744,8 +784,10 @@ export interface ListKeysKeyListGetRequest {
744
784
  organization_id?: string;
745
785
  /** Filter keys by key hash */
746
786
  key_hash?: string;
747
- /** Filter keys by key alias. Exact match by default; set substring_matching=true (admin only) for case-insensitive substring matching. */
787
+ /** Filter keys by key alias. Exact match by default; set substring_matching=true for case-insensitive substring matching. */
748
788
  key_alias?: string;
789
+ /** Combined search: matches keys whose token (key hash) equals the value OR whose key_alias contains it (case-insensitive). */
790
+ search?: string;
749
791
  /** Return full key object */
750
792
  return_full_object?: boolean;
751
793
  /** Include all keys for teams that user is an admin of. */
@@ -758,7 +800,7 @@ export interface ListKeysKeyListGetRequest {
758
800
  sort_order?: string;
759
801
  /** Expand related objects (e.g. 'user') */
760
802
  expand?: ListKeysKeyListGetRequestExpandList;
761
- /** Filter by status (e.g. 'deleted') */
803
+ /** Filter by status: 'active' (not blocked, not expired), 'expired' (not blocked, past expiry), 'revoked' (blocked) or 'deleted' (archived keys). Omit to return live keys regardless of status. */
762
804
  status?: string;
763
805
  /** Filter keys by project ID */
764
806
  project_id?: string;
@@ -766,7 +808,7 @@ export interface ListKeysKeyListGetRequest {
766
808
  access_group_id?: string;
767
809
  /** Filter keys by agent ID */
768
810
  agent_id?: string;
769
- /** If true (proxy admins only), match user_id/key_alias as case-insensitive substrings instead of exact values. Defaults to false: /key/list matched these exactly before substring search was added, and an exact user_id/key_alias filter must never return another user's keys. */
811
+ /** If true, match key_alias (any caller) and user_id (proxy admins only) as case-insensitive substrings instead of exact values. Defaults to false: /key/list matched these exactly before substring search was added, and an exact user_id filter must never return another user's keys. */
770
812
  substring_matching?: boolean;
771
813
  /** Filter keys by expiration. 'expired' returns keys whose expires is in the past; 'active' returns keys that never expire or expire in the future. Omit to return keys regardless of expiration. */
772
814
  expires?: string;
@@ -826,6 +868,8 @@ export type LiteLLMObjectPermissionTableModelsList = Array<string>;
826
868
  export declare const LiteLLMObjectPermissionTableModelsList: S.Schema<LiteLLMObjectPermissionTableModelsList>;
827
869
  export type LiteLLMObjectPermissionTableSearchToolsList = Array<string>;
828
870
  export declare const LiteLLMObjectPermissionTableSearchToolsList: S.Schema<LiteLLMObjectPermissionTableSearchToolsList>;
871
+ export type LiteLLMObjectPermissionTableSkillsList = Array<string>;
872
+ export declare const LiteLLMObjectPermissionTableSkillsList: S.Schema<LiteLLMObjectPermissionTableSkillsList>;
829
873
  export type LiteLLMObjectPermissionTableVectorStoresList = Array<string>;
830
874
  export declare const LiteLLMObjectPermissionTableVectorStoresList: S.Schema<LiteLLMObjectPermissionTableVectorStoresList>;
831
875
  /** Represents a LiteLLM_ObjectPermissionTable record */
@@ -841,6 +885,7 @@ export interface LiteLLMObjectPermissionTable {
841
885
  models?: LiteLLMObjectPermissionTableModelsList | null;
842
886
  object_permission_id: string;
843
887
  search_tools?: LiteLLMObjectPermissionTableSearchToolsList | null;
888
+ skills?: LiteLLMObjectPermissionTableSkillsList | null;
844
889
  vector_stores?: LiteLLMObjectPermissionTableVectorStoresList | null;
845
890
  }
846
891
  export declare const LiteLLMObjectPermissionTable: S.Schema<LiteLLMObjectPermissionTable>;
@@ -906,6 +951,10 @@ export type UserAPIKeyAuthTeamModelAliasesMap = {
906
951
  [key: string]: unknown | undefined;
907
952
  };
908
953
  export declare const UserAPIKeyAuthTeamModelAliasesMap: S.Schema<UserAPIKeyAuthTeamModelAliasesMap>;
954
+ export type UserAPIKeyAuthTeamModelMaxBudgetMap = {
955
+ [key: string]: unknown | undefined;
956
+ };
957
+ export declare const UserAPIKeyAuthTeamModelMaxBudgetMap: S.Schema<UserAPIKeyAuthTeamModelMaxBudgetMap>;
909
958
  export type UserAPIKeyAuthTeamModelsList = Array<unknown>;
910
959
  export declare const UserAPIKeyAuthTeamModelsList: S.Schema<UserAPIKeyAuthTeamModelsList>;
911
960
  export type UserAPIKeyAuthTpmLimitPerModelMap = {
@@ -944,6 +993,7 @@ export interface UserAPIKeyAuth {
944
993
  end_user_model_max_budget?: UserAPIKeyAuthEndUserModelMaxBudgetMap | null;
945
994
  end_user_object_permission?: LiteLLMObjectPermissionTable | null;
946
995
  end_user_rpm_limit?: number | null;
996
+ end_user_tpd_limit?: number | null;
947
997
  end_user_tpm_limit?: number | null;
948
998
  expires?: string | null;
949
999
  is_session_token?: boolean;
@@ -995,14 +1045,18 @@ export interface UserAPIKeyAuth {
995
1045
  team_member_tpm_limit?: number | null;
996
1046
  team_metadata?: UserAPIKeyAuthTeamMetadataMap | null;
997
1047
  team_model_aliases?: UserAPIKeyAuthTeamModelAliasesMap | null;
1048
+ team_model_max_budget?: UserAPIKeyAuthTeamModelMaxBudgetMap | null;
998
1049
  team_models?: UserAPIKeyAuthTeamModelsList;
999
1050
  team_object_permission?: LiteLLMObjectPermissionTable | null;
1000
1051
  team_object_permission_id?: string | null;
1001
1052
  team_rpm_limit?: number | null;
1002
1053
  team_soft_budget?: number | null;
1003
1054
  team_spend?: number | null;
1055
+ team_tpd_limit?: number | null;
1004
1056
  team_tpm_limit?: number | null;
1005
1057
  token?: string | null;
1058
+ total_spend?: number;
1059
+ tpd_limit?: number | null;
1006
1060
  tpm_limit?: number | null;
1007
1061
  tpm_limit_per_model?: UserAPIKeyAuthTpmLimitPerModelMap | null;
1008
1062
  updated_at?: string | null;
@@ -1109,6 +1163,7 @@ export interface LiteLLMDeletedVerificationToken {
1109
1163
  object_permission?: LiteLLMObjectPermissionTable | null;
1110
1164
  object_permission_id?: string | null;
1111
1165
  org_id?: string | null;
1166
+ organization_id?: string | null;
1112
1167
  permissions?: LiteLLMDeletedVerificationTokenPermissionsMap;
1113
1168
  project_id?: string | null;
1114
1169
  rotation_count?: number | null;
@@ -1120,6 +1175,8 @@ export interface LiteLLMDeletedVerificationToken {
1120
1175
  spend?: number;
1121
1176
  team_id?: string | null;
1122
1177
  token?: string | null;
1178
+ total_spend?: number;
1179
+ tpd_limit?: number | null;
1123
1180
  tpm_limit?: number | null;
1124
1181
  updated_at?: string | null;
1125
1182
  updated_by?: string | null;
@@ -1237,6 +1294,8 @@ export interface LiteLLMVerificationToken {
1237
1294
  spend?: number;
1238
1295
  team_id?: string | null;
1239
1296
  token?: string | null;
1297
+ total_spend?: number;
1298
+ tpd_limit?: number | null;
1240
1299
  tpm_limit?: number | null;
1241
1300
  updated_at?: string | null;
1242
1301
  updated_by?: string | null;
@@ -1379,6 +1438,7 @@ export interface RegenerateKeyRequest {
1379
1438
  disable_global_guardrails?: boolean | null;
1380
1439
  duration?: string | null;
1381
1440
  enable_prompt_caching?: boolean | null;
1441
+ end_user_budget_id?: string | null;
1382
1442
  enforced_params?: RegenerateKeyRequestEnforcedParamsList | null;
1383
1443
  grace_period?: string | null;
1384
1444
  guardrails?: RegenerateKeyRequestGuardrailsList | null;
@@ -1414,6 +1474,7 @@ export interface RegenerateKeyRequest {
1414
1474
  tags?: RegenerateKeyRequestTagsList | null;
1415
1475
  team_id?: string | null;
1416
1476
  throttle_on_budget_exceeded?: boolean | null;
1477
+ tpd_limit?: number | null;
1417
1478
  tpm_limit?: number | null;
1418
1479
  tpm_limit_type?: RegenerateKeyRequestTpmLimitType | (string & {}) | null;
1419
1480
  user_id?: string | null;
@@ -1552,6 +1613,7 @@ export interface UpdateKeyFnKeyUpdatePostRequest {
1552
1613
  disable_global_guardrails?: boolean | null;
1553
1614
  duration?: string | null;
1554
1615
  enable_prompt_caching?: boolean | null;
1616
+ end_user_budget_id?: string | null;
1555
1617
  enforced_params?: UpdateKeyFnKeyUpdatePostRequestEnforcedParamsList | null;
1556
1618
  guardrails?: UpdateKeyFnKeyUpdatePostRequestGuardrailsList | null;
1557
1619
  key?: string | null;
@@ -1568,11 +1630,14 @@ export interface UpdateKeyFnKeyUpdatePostRequest {
1568
1630
  organization_id?: string | null;
1569
1631
  permissions?: UpdateKeyFnKeyUpdatePostRequestPermissionsMap | null;
1570
1632
  policies?: UpdateKeyFnKeyUpdatePostRequestPoliciesList | null;
1633
+ /** Omit to retain the project, or send null to detach. Assigning a different project is not supported. */
1634
+ project_id?: string | null;
1571
1635
  prompts?: UpdateKeyFnKeyUpdatePostRequestPromptsList | null;
1572
1636
  rotation_interval?: string | null;
1573
1637
  router_settings?: UpdateRouterConfig | null;
1574
1638
  rpm_limit?: number | null;
1575
1639
  rpm_limit_type?: UpdateKeyFnKeyUpdatePostRequestRpmLimitType | (string & {}) | null;
1640
+ soft_budget?: number | null;
1576
1641
  spend?: number | null;
1577
1642
  tag_rpm_limit?: UpdateKeyFnKeyUpdatePostRequestTagRpmLimitMap | null;
1578
1643
  tags?: UpdateKeyFnKeyUpdatePostRequestTagsList | null;
@@ -1580,6 +1645,7 @@ export interface UpdateKeyFnKeyUpdatePostRequest {
1580
1645
  temp_budget_expiry?: string | null;
1581
1646
  temp_budget_increase?: number | null;
1582
1647
  throttle_on_budget_exceeded?: boolean | null;
1648
+ tpd_limit?: number | null;
1583
1649
  tpm_limit?: number | null;
1584
1650
  tpm_limit_type?: UpdateKeyFnKeyUpdatePostRequestTpmLimitType | (string & {}) | null;
1585
1651
  user_id?: string | null;
@@ -1590,28 +1656,28 @@ export interface UpdateKeyFnKeyUpdatePostResponse {
1590
1656
  }
1591
1657
  export declare const UpdateKeyFnKeyUpdatePostResponse: S.Schema<UpdateKeyFnKeyUpdatePostResponse>;
1592
1658
  export type BulkUpdateKeysKeyBulkUpdatePostError = BadRequest | Forbidden | UnprocessableEntity | LitellmOpError;
1593
- /** Bulk Update Keys Bulk update multiple keys at once. This endpoint allows updating multiple keys in a single request. Each key update is processed independently - if some updates fail, others will still succeed. Parameters: - keys: List[BulkUpdateKeyRequestItem] - List of key update requests, each containing: - key: str - The key identifier (token) to update - budget_id: Optional[str] - Budget ID associated with the key - max_budget: Optional[float] - Max budget for key - team_id: Optional[str] - Team ID associated with key - tags: Optional[List[str]] - Tags for organizing keys Returns: - total_requested: int - Total number of keys requested for update - successful_updates: List[SuccessfulKeyUpdate] - List of successfully updated keys with their updated info - failed_updates: List[FailedKeyUpdate] - List of failed updates with key_info and failed_reason Example request: ```bash curl --location 'http://0.0.0.0:4000/key/bulk_update' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "keys": [ { "key": "sk-1234", "max_budget": 100.0, "team_id": "team-123", "tags": ["production", "api"] }, { "key": "sk-5678", "budget_id": "budget-456", "tags": ["staging"] } ] }' ``` */
1659
+ /** Bulk Update Keys Bulk update multiple keys at once. This endpoint allows updating multiple keys in a single request. Each key update is processed independently - if some updates fail, others will still succeed. Parameters: - keys: List[BulkUpdateKeyRequestItem] - List of key update requests, each containing: - key: str - The key identifier (token) to update - budget_id: Optional[str] - Budget ID associated with the key - max_budget: Optional[float] - Max budget for key - team_id: Optional[str] - Team ID associated with key - tags: Optional[List[str]] - Tags for organizing keys - object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission, as on /key/update Only the fields an item carries are written: a field left out keeps its current value, and a field sent explicitly, null included, is applied exactly as /key/update applies it. Returns: - total_requested: int - Total number of keys requested for update - successful_updates: List[SuccessfulKeyUpdate] - List of successfully updated keys with their updated info - failed_updates: List[FailedKeyUpdate] - List of failed updates with key_info and failed_reason Example request: ```bash curl --location 'http://0.0.0.0:4000/key/bulk_update' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "keys": [ { "key": "sk-1234", "max_budget": 100.0, "team_id": "team-123", "tags": ["production", "api"] }, { "key": "sk-5678", "budget_id": "budget-456", "tags": ["staging"] } ] }' ``` */
1594
1660
  export declare const bulkUpdateKeysKeyBulkUpdatePost: API.OperationMethod<BulkUpdateKeysKeyBulkUpdatePostRequest, BulkUpdateKeyResponse, BulkUpdateKeysKeyBulkUpdatePostError, LitellmOpContext>;
1595
1661
  export type BulkUpdateTeamKeysTeamKeyBulkUpdatePostError = UnprocessableEntity | LitellmOpError;
1596
1662
  /** Bulk Update Team Keys Apply one update payload to many keys inside a single team. Pass `team_id` plus either `key_ids` or `all_keys_in_team=True`. The `update_fields` payload is broadcast to every selected key. Per-key failures are returned in `failed_updates` rather than aborting the batch. Callable by proxy admins, or by team admins with `KEY_UPDATE` permission. */
1597
1663
  export declare const bulkUpdateTeamKeysTeamKeyBulkUpdatePost: API.OperationMethod<BulkUpdateTeamKeysTeamKeyBulkUpdatePostRequest, BulkUpdateKeyResponse, BulkUpdateTeamKeysTeamKeyBulkUpdatePostError, LitellmOpContext>;
1598
- export type DeleteKeyFnKeyDeletePostError = BadRequest | UnprocessableEntity | LitellmOpError;
1664
+ export type DeleteKeyFnKeyDeletePostError = BadRequest | UnprocessableEntity | KeyNotFound | KeyDeleteForbidden | LitellmOpError;
1599
1665
  /** Delete Key Fn Delete a key from the key management system. Parameters:: - keys (List[str]): A list of keys or hashed keys to delete. Example {"keys": ["sk-QWrxEynunsNpV1zT48HIrw", "837e17519f44683334df5291321d97b8bf1098cd490e49e215f6fea935aa28be"]} - key_aliases (List[str]): A list of key aliases to delete. Can be passed instead of `keys`.Example {"key_aliases": ["alias1", "alias2"]} Returns: - deleted_keys (List[str]): A list of deleted keys. Example {"deleted_keys": ["sk-QWrxEynunsNpV1zT48HIrw", "837e17519f44683334df5291321d97b8bf1098cd490e49e215f6fea935aa28be"]} Example: ```bash curl --location 'http://0.0.0.0:4000/key/delete' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "keys": ["sk-QWrxEynunsNpV1zT48HIrw"] }' ``` Raises: HTTPException: If an error occurs during key deletion. */
1600
1666
  export declare const deleteKeyFnKeyDeletePost: API.OperationMethod<DeleteKeyFnKeyDeletePostRequest, DeleteKeyFnKeyDeletePostResponse, DeleteKeyFnKeyDeletePostError, LitellmOpContext>;
1601
1667
  export type GenerateKeyFnKeyGeneratePostError = BadRequest | Forbidden | UnprocessableEntity | LitellmOpError;
1602
- /** Generate Key Fn Generate an API key based on the provided data. Docs: https://docs.litellm.ai/docs/proxy/virtual_keys Parameters: - duration: Optional[str] - Specify the length of time the token is valid for. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - key_alias: Optional[str] - User defined key alias - key: Optional[str] - User defined key value. Must start with 'sk-' and be at least 16 characters long. If not set, a 16-digit unique sk-key is created for you. - team_id: Optional[str] - The team id of the key - user_id: Optional[str] - The user id of the key - agent_id: Optional[str] - The agent id associated with the key. - organization_id: Optional[str] - The organization id of the key. If not set, and team_id is set, the organization id will be the same as the team id. If conflict, an error will be raised. - project_id: Optional[str] - The project id of the key. When set, models and max_budget are validated against the project's limits. - budget_id: Optional[str] - The budget id associated with the key. Created by calling `/budget/new`. - models: Optional[list] - Model_name's a user is allowed to call. (if empty, key is allowed to call all models) - aliases: Optional[dict] - Any alias mappings, on top of anything in the config.yaml model list. - https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---upgradedowngrade-models - config: Optional[dict] - any key-specific configs, overrides config in config.yaml - spend: Optional[int] - Amount spent by key. Default is 0. Will be updated by proxy whenever key is used. https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---tracking-spend - send_invite_email: Optional[bool] - Whether to send an invite email to the user_id, with the generate key - max_budget: Optional[float] - Specify max budget for a given key. - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user's parallel requests > x. - metadata: Optional[dict] - Metadata for key, store information for key. Example metadata = {"team": "core-infra", "app": "app2", "email": "ishaan@berri.ai" } - guardrails: Optional[List[str]] - List of active guardrails for the key - policies: Optional[List[str]] - List of policy names to apply to the key. Policies define guardrails, conditions, and inheritance rules. - disable_global_guardrails: Optional[bool] - Whether to disable global guardrails for the key. - throttle_on_budget_exceeded: Optional[bool] - When the key exceeds its max_budget, throttle its tpm/rpm to the global budget_exceeded_throttle_percentage instead of blocking the key entirely. - enable_prompt_caching: Optional[bool] - Auto-inject prompt caching breakpoints (Anthropic cache_control markers) on requests made with this key. Anthropic and Bedrock Claude models only. - permissions: Optional[dict] - key-specific permissions. Currently just used for turning off pii masking (if connected). Example - {"pii": false} - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {"gpt-4": {"budget_limit": 0.0005, "time_period": "30d"}}}. IF null or {} then no model specific budget. - budget_fallbacks: Optional[Dict[str, List[str]]] - Per-model fallback chain tried in order when that model's own `model_max_budget` is exceeded, e.g. {"gpt-4o": ["gpt-4o-mini"]}. - model_rpm_limit: Optional[dict] - key-specific model rpm limit. Example - {"text-davinci-002": 1000, "gpt-3.5-turbo": 1000}. IF null or {} then no model specific rpm limit. - model_tpm_limit: Optional[dict] - key-specific model tpm limit. Example - {"text-davinci-002": 1000, "gpt-3.5-turbo": 1000}. IF null or {} then no model specific tpm limit. - default_estimated_output_tokens: Optional[int] - Proxy admin only. Expected output tokens reserved for TPM limiting when a request omits max_tokens. Positive integer. Falls back to the team setting, then to the built-in estimate. - default_estimated_output_tokens_per_model: Optional[dict] - Proxy admin only. Per-model override of the above. Example - {"gpt-4": 4096, "gpt-3.5-turbo": 1024}. Takes precedence over the key-wide value. - mcp_rpm_limit: Optional[dict] - key-specific per-MCP-server rpm limit, keyed by MCP server name (alias if set, else the configured name). Example - {"github": 100, "slack": 200}. IF null or {} then no MCP-specific rpm limit. - tag_rpm_limit: Optional[dict] - key-specific per-request-tag rpm limit, keyed by request tag. Example - {"cell-1": 1000, "cell-2": 500}. Each tag gets an independent counter; requests whose tag is absent fall back to the key-level rpm limit. - tpm_limit_type: Optional[str] - Type of tpm limit. Options: "best_effort_throughput" (no error if we're overallocating tpm), "guaranteed_throughput" (raise an error if we're overallocating tpm), "dynamic" (dynamically exceed limit when no 429 errors). Defaults to "best_effort_throughput". - rpm_limit_type: Optional[str] - Type of rpm limit. Options: "best_effort_throughput" (no error if we're overallocating rpm), "guaranteed_throughput" (raise an error if we're overallocating rpm), "dynamic" (dynamically exceed limit when no 429 errors). Defaults to "best_effort_throughput". - allowed_cache_controls: Optional[list] - List of allowed cache control values. Example - ["no-cache", "no-store"]. See all values - https://docs.litellm.ai/docs/proxy/caching#turn-on--off-caching-per-request - blocked: Optional[bool] - Whether the key is blocked. - rpm_limit: Optional[int] - Specify rpm limit for a given key (Requests per minute) - tpm_limit: Optional[int] - Specify tpm limit for a given key (Tokens per minute) - soft_budget: Optional[float] - Specify soft budget for a given key. Will trigger a slack alert when this soft budget is reached. - tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - prompts: Optional[List[str]] - List of prompts that the key is allowed to use. - enforced_params: Optional[List[str]] - List of enforced params for the key (Enterprise only). [Docs](https://docs.litellm.ai/docs/proxy/enterprise#enforce-required-params-for-llm-requests) - prompts: Optional[List[str]] - List of prompts that the key is allowed to use. - allowed_routes: Optional[list] - List of allowed routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - ["/chat/completions", "/embeddings", "/keys/*"] - allowed_passthrough_routes: Optional[list] - List of allowed pass through endpoints for the key. Store the actual endpoint or store a wildcard pattern for a set of endpoints. Example - ["/my-custom-endpoint"]. Use this instead of allowed_routes, if you just want to specify which pass through endpoints the key can access, without specifying the routes. If allowed_routes is specified, allowed_pass_through_endpoints is ignored. - object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission. Example - {"vector_stores": ["vector_store_1", "vector_store_2"], "agents": ["agent_1", "agent_2"], "agent_access_groups": ["dev_group"]}. IF null or {} then no object permission. - key_type: Optional[str] - Type of key that determines default allowed routes. Options: "llm_api" (can call LLM API routes), "management" (can call management routes), "read_only" (can only call info/read routes), "default" (uses default allowed routes). Defaults to "default". - prompts: Optional[List[str]] - List of allowed prompts for the key. If specified, the key will only be able to use these specific prompts. - auto_rotate: Optional[bool] - Whether this key should be automatically rotated (regenerated) - rotation_interval: Optional[str] - How often to auto-rotate this key (e.g., '30s', '30m', '30h', '30d'). Required if auto_rotate=True. - allowed_vector_store_indexes: Optional[List[dict]] - List of allowed vector store indexes for the key. Example - [{"index_name": "my-index", "index_permissions": ["write", "read"]}]. If specified, the key will only be able to use these specific vector store indexes. Create index, using `/v1/indexes` endpoint. - router_settings: Optional[UpdateRouterConfig] - key-specific router settings. Example - {"model_group_retry_policy": {"gpt-4": {"RateLimitErrorRetries": 5}}}. IF null or {} then no router settings. - access_group_ids: Optional[List[str]] - List of access group IDs to associate with the key. Access groups define which models a key can access. Example - ["access_group_1", "access_group_2"]. - budget_limits: Optional[list] - List of concurrent budget windows for the key. Each window specifies a budget_limit, time_period, and optional budget_duration. Example - [{"budget_limit": 10.0, "time_period": "1d"}, {"budget_limit": 50.0, "time_period": "7d"}]. Examples: 1. Allow users to turn on/off pii masking ```bash curl --location 'http://0.0.0.0:4000/key/generate' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "permissions": {"allow_pii_controls": true} }' ``` Returns: - key: (str) The generated api key - expires: (datetime) Datetime object for when key expires. - user_id: (str) Unique user id - used for tracking spend across multiple keys for same user id. */
1668
+ /** Generate Key Fn Generate an API key based on the provided data. Docs: https://docs.litellm.ai/docs/proxy/virtual_keys Parameters: - duration: Optional[str] - Specify the length of time the token is valid for. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - key_alias: Optional[str] - User defined key alias - key: Optional[str] - User defined key value. Must start with 'sk-' and be at least 16 characters long. If not set, a 16-digit unique sk-key is created for you. - team_id: Optional[str] - The team id of the key - user_id: Optional[str] - The user id of the key - agent_id: Optional[str] - The agent id associated with the key. - organization_id: Optional[str] - The organization id of the key. If not set, and team_id is set, the organization id will be the same as the team id. If conflict, an error will be raised. - project_id: Optional[str] - The project id of the key. When set, models and max_budget are validated against the project's limits. - budget_id: Optional[str] - The budget id associated with the key. Created by calling `/budget/new`. - end_user_budget_id: Optional[str] - Proxy admin only. Budget id applied to end users first seen through this key that carry no budget of their own. Takes precedence over `litellm_settings.max_end_user_budget_id`. - models: Optional[list] - Model_name's a user is allowed to call. (if empty, key is allowed to call all models) - aliases: Optional[dict] - Any alias mappings, on top of anything in the config.yaml model list. - https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---upgradedowngrade-models - config: Optional[dict] - any key-specific configs, overrides config in config.yaml - spend: Optional[int] - Amount spent by key. Default is 0. Will be updated by proxy whenever key is used. https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---tracking-spend - send_invite_email: Optional[bool] - Whether to send an invite email to the user_id, with the generate key - max_budget: Optional[float] - Specify max budget for a given key. - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user's parallel requests > x. - metadata: Optional[dict] - Metadata for key, store information for key. Example metadata = {"team": "core-infra", "app": "app2", "email": "ishaan@berri.ai" } - guardrails: Optional[List[str]] - List of active guardrails for the key - policies: Optional[List[str]] - List of policy names to apply to the key. Policies define guardrails, conditions, and inheritance rules. - disable_global_guardrails: Optional[bool] - Whether to disable global guardrails for the key. - throttle_on_budget_exceeded: Optional[bool] - When the key exceeds its max_budget, throttle its tpm/rpm to the global budget_exceeded_throttle_percentage instead of blocking the key entirely. - enable_prompt_caching: Optional[bool] - Auto-inject prompt caching breakpoints (Anthropic cache_control markers) on requests made with this key. Supported Claude models on Anthropic, Bedrock, Vertex AI, and Azure AI only. - permissions: Optional[dict] - key-specific permissions. Currently just used for turning off pii masking (if connected). Example - {"pii": false} - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {"gpt-4": {"budget_limit": 0.0005, "time_period": "30d"}}}. IF null or {} then no model specific budget. - budget_fallbacks: Optional[Dict[str, List[str]]] - Per-model fallback chain tried in order when that model's own `model_max_budget` is exceeded, e.g. {"gpt-4o": ["gpt-4o-mini"]}. - model_rpm_limit: Optional[dict] - key-specific model rpm limit. Example - {"text-davinci-002": 1000, "gpt-3.5-turbo": 1000}. IF null or {} then no model specific rpm limit. - model_tpm_limit: Optional[dict] - key-specific model tpm limit. Example - {"text-davinci-002": 1000, "gpt-3.5-turbo": 1000}. IF null or {} then no model specific tpm limit. - default_estimated_output_tokens: Optional[int] - Proxy admin only. Expected output tokens reserved for TPM limiting when a request omits max_tokens. Positive integer. Falls back to the team setting, then to the built-in estimate. - default_estimated_output_tokens_per_model: Optional[dict] - Proxy admin only. Per-model override of the above. Example - {"gpt-4": 4096, "gpt-3.5-turbo": 1024}. Takes precedence over the key-wide value. - mcp_rpm_limit: Optional[dict] - key-specific per-MCP-server rpm limit, keyed by MCP server name (alias if set, else the configured name). Example - {"github": 100, "slack": 200}. IF null or {} then no MCP-specific rpm limit. - tag_rpm_limit: Optional[dict] - key-specific per-request-tag rpm limit, keyed by request tag. Example - {"cell-1": 1000, "cell-2": 500}. Each tag gets an independent counter; requests whose tag is absent fall back to the key-level rpm limit. - tpm_limit_type: Optional[str] - Type of tpm limit. Options: "best_effort_throughput" (no error if we're overallocating tpm), "guaranteed_throughput" (raise an error if we're overallocating tpm), "dynamic" (dynamically exceed limit when no 429 errors). Defaults to "best_effort_throughput". - rpm_limit_type: Optional[str] - Type of rpm limit. Options: "best_effort_throughput" (no error if we're overallocating rpm), "guaranteed_throughput" (raise an error if we're overallocating rpm), "dynamic" (dynamically exceed limit when no 429 errors). Defaults to "best_effort_throughput". - allowed_cache_controls: Optional[list] - List of allowed cache control values. Example - ["no-cache", "no-store"]. See all values - https://docs.litellm.ai/docs/proxy/caching#turn-on--off-caching-per-request - blocked: Optional[bool] - Whether the key is blocked. - rpm_limit: Optional[int] - Specify rpm limit for a given key (Requests per minute) - tpm_limit: Optional[int] - Specify tpm limit for a given key (Tokens per minute) - tpd_limit: Optional[int] - Specify tpd limit for a given key (Tokens per day). Charged by batch submissions instead of tpm_limit/rpm_limit. - soft_budget: Optional[float] - Specify soft budget for a given key. Will trigger a slack alert when this soft budget is reached. - tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - prompts: Optional[List[str]] - List of prompts that the key is allowed to use. - enforced_params: Optional[List[str]] - List of enforced params for the key (Enterprise only). [Docs](https://docs.litellm.ai/docs/proxy/enterprise#enforce-required-params-for-llm-requests) - prompts: Optional[List[str]] - List of prompts that the key is allowed to use. - allowed_routes: Optional[list] - List of allowed routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - ["/chat/completions", "/embeddings", "/keys/*"] - allowed_passthrough_routes: Optional[list] - List of allowed pass through endpoints for the key. Store the actual endpoint or store a wildcard pattern for a set of endpoints. Example - ["/my-custom-endpoint"]. Use this instead of allowed_routes, if you just want to specify which pass through endpoints the key can access, without specifying the routes. If allowed_routes is specified, allowed_pass_through_endpoints is ignored. - object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission. Example - {"vector_stores": ["vector_store_1", "vector_store_2"], "agents": ["agent_1", "agent_2"], "agent_access_groups": ["dev_group"]}. IF null or {} then no object permission. - key_type: Optional[str] - Type of key that determines default allowed routes. Options: "llm_api" (can call LLM API routes), "management" (can call management routes), "read_only" (can only call info/read routes), "default" (uses default allowed routes). Defaults to "default". - prompts: Optional[List[str]] - List of allowed prompts for the key. If specified, the key will only be able to use these specific prompts. - auto_rotate: Optional[bool] - Whether this key should be automatically rotated (regenerated) - rotation_interval: Optional[str] - How often to auto-rotate this key (e.g., '30s', '30m', '30h', '30d'). Required if auto_rotate=True. - allowed_vector_store_indexes: Optional[List[dict]] - List of allowed vector store indexes for the key. Example - [{"index_name": "my-index", "index_permissions": ["write", "read"]}]. If specified, the key will only be able to use these specific vector store indexes. Create index, using `/v1/indexes` endpoint. - router_settings: Optional[UpdateRouterConfig] - key-specific router settings. Example - {"model_group_retry_policy": {"gpt-4": {"RateLimitErrorRetries": 5}}}. IF null or {} then no router settings. - access_group_ids: Optional[List[str]] - List of access group IDs to associate with the key. Access groups define which models a key can access. Example - ["access_group_1", "access_group_2"]. - budget_limits: Optional[list] - List of concurrent budget windows for the key. Each window specifies a budget_limit, time_period, and optional budget_duration. Example - [{"budget_limit": 10.0, "time_period": "1d"}, {"budget_limit": 50.0, "time_period": "7d"}]. Examples: 1. Allow users to turn on/off pii masking ```bash curl --location 'http://0.0.0.0:4000/key/generate' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "permissions": {"allow_pii_controls": true} }' ``` Returns: - key: (str) The generated api key - expires: (datetime) Datetime object for when key expires. - user_id: (str) Unique user id - used for tracking spend across multiple keys for same user id. */
1603
1669
  export declare const generateKeyFnKeyGeneratePost: API.OperationMethod<GenerateKeyFnKeyGeneratePostRequest, GenerateKeyResponse, GenerateKeyFnKeyGeneratePostError, LitellmOpContext>;
1604
1670
  export type GenerateServiceAccountKeyFnKeyServiceAccountGeneratePostError = UnprocessableEntity | LitellmOpError;
1605
- /** Generate Service Account Key Fn Generate a Service Account API key based on the provided data. This key does not belong to any user. It belongs to the team. Why use a service account key? - Prevent key from being deleted when user is deleted. - Apply team limits, not team member limits to key. Docs: https://docs.litellm.ai/docs/proxy/virtual_keys Parameters: - duration: Optional[str] - Specify the length of time the token is valid for. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - key_alias: Optional[str] - User defined key alias - key: Optional[str] - User defined key value. Must start with 'sk-' and be at least 16 characters long. If not set, a 16-digit unique sk-key is created for you. - team_id: Optional[str] - The team id of the key - user_id: Optional[str] - [NON-FUNCTIONAL] THIS WILL BE IGNORED. The user id of the key - budget_id: Optional[str] - The budget id associated with the key. Created by calling `/budget/new`. - models: Optional[list] - Model_name's a user is allowed to call. (if empty, key is allowed to call all models) - aliases: Optional[dict] - Any alias mappings, on top of anything in the config.yaml model list. - https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---upgradedowngrade-models - config: Optional[dict] - any key-specific configs, overrides config in config.yaml - spend: Optional[int] - Amount spent by key. Default is 0. Will be updated by proxy whenever key is used. https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---tracking-spend - send_invite_email: Optional[bool] - Whether to send an invite email to the user_id, with the generate key - max_budget: Optional[float] - Specify max budget for a given key. - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user's parallel requests > x. - metadata: Optional[dict] - Metadata for key, store information for key. Example metadata = {"team": "core-infra", "app": "app2", "email": "ishaan@berri.ai" } - guardrails: Optional[List[str]] - List of active guardrails for the key - permissions: Optional[dict] - key-specific permissions. Currently just used for turning off pii masking (if connected). Example - {"pii": false} - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {"gpt-4": {"budget_limit": 0.0005, "time_period": "30d"}}}. IF null or {} then no model specific budget. - budget_fallbacks: Optional[Dict[str, List[str]]] - Per-model fallback chain tried in order when that model's own `model_max_budget` is exceeded, e.g. {"gpt-4o": ["gpt-4o-mini"]}. - model_rpm_limit: Optional[dict] - key-specific model rpm limit. Example - {"text-davinci-002": 1000, "gpt-3.5-turbo": 1000}. IF null or {} then no model specific rpm limit. - model_tpm_limit: Optional[dict] - key-specific model tpm limit. Example - {"text-davinci-002": 1000, "gpt-3.5-turbo": 1000}. IF null or {} then no model specific tpm limit. - default_estimated_output_tokens: Optional[int] - Proxy admin only. Expected output tokens reserved for TPM limiting when a request omits max_tokens. Positive integer. Falls back to the team setting, then to the built-in estimate. - default_estimated_output_tokens_per_model: Optional[dict] - Proxy admin only. Per-model override of the above. Example - {"gpt-4": 4096, "gpt-3.5-turbo": 1024}. Takes precedence over the key-wide value. - mcp_rpm_limit: Optional[dict] - key-specific per-MCP-server rpm limit, keyed by MCP server name (alias if set, else the configured name). Example - {"github": 100, "slack": 200}. IF null or {} then no MCP-specific rpm limit. - tpm_limit_type: Optional[str] - TPM rate limit type - "best_effort_throughput", "guaranteed_throughput", or "dynamic" - rpm_limit_type: Optional[str] - RPM rate limit type - "best_effort_throughput", "guaranteed_throughput", or "dynamic" - allowed_cache_controls: Optional[list] - List of allowed cache control values. Example - ["no-cache", "no-store"]. See all values - https://docs.litellm.ai/docs/proxy/caching#turn-on--off-caching-per-request - blocked: Optional[bool] - Whether the key is blocked. - rpm_limit: Optional[int] - Specify rpm limit for a given key (Requests per minute) - tpm_limit: Optional[int] - Specify tpm limit for a given key (Tokens per minute) - soft_budget: Optional[float] - Specify soft budget for a given key. Will trigger a slack alert when this soft budget is reached. - tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - enforced_params: Optional[List[str]] - List of enforced params for the key (Enterprise only). [Docs](https://docs.litellm.ai/docs/proxy/enterprise#enforce-required-params-for-llm-requests) - allowed_routes: Optional[list] - List of allowed routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - ["/chat/completions", "/embeddings", "/keys/*"] - object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission. Example - {"vector_stores": ["vector_store_1", "vector_store_2"], "agents": ["agent_1", "agent_2"], "agent_access_groups": ["dev_group"]}. IF null or {} then no object permission. Examples: - allowed_vector_store_indexes: Optional[List[dict]] - List of allowed vector store indexes for the key. Example - [{"index_name": "my-index", "index_permissions": ["write", "read"]}]. If specified, the key will only be able to use these specific vector store indexes. Create index, using `/v1/indexes` endpoint. 1. Allow users to turn on/off pii masking ```bash curl --location 'http://0.0.0.0:4000/key/generate' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "permissions": {"allow_pii_controls": true} }' ``` Returns: - key: (str) The generated api key - expires: (datetime) Datetime object for when key expires. - user_id: (str) Unique user id - used for tracking spend across multiple keys for same user id. */
1671
+ /** Generate Service Account Key Fn Generate a Service Account API key based on the provided data. This key does not belong to any user. It belongs to the team. Why use a service account key? - Prevent key from being deleted when user is deleted. - Apply team limits, not team member limits to key. Docs: https://docs.litellm.ai/docs/proxy/virtual_keys Parameters: - duration: Optional[str] - Specify the length of time the token is valid for. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - key_alias: Optional[str] - User defined key alias - key: Optional[str] - User defined key value. Must start with 'sk-' and be at least 16 characters long. If not set, a 16-digit unique sk-key is created for you. - team_id: Optional[str] - The team id of the key - user_id: Optional[str] - [NON-FUNCTIONAL] THIS WILL BE IGNORED. The user id of the key - budget_id: Optional[str] - The budget id associated with the key. Created by calling `/budget/new`. - end_user_budget_id: Optional[str] - Proxy admin only. Budget id applied to end users first seen through this key that carry no budget of their own. Omit to keep the current value, pass an empty string to clear it. - models: Optional[list] - Model_name's a user is allowed to call. (if empty, key is allowed to call all models) - aliases: Optional[dict] - Any alias mappings, on top of anything in the config.yaml model list. - https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---upgradedowngrade-models - config: Optional[dict] - any key-specific configs, overrides config in config.yaml - spend: Optional[int] - Amount spent by key. Default is 0. Will be updated by proxy whenever key is used. https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---tracking-spend - send_invite_email: Optional[bool] - Whether to send an invite email to the user_id, with the generate key - max_budget: Optional[float] - Specify max budget for a given key. - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user's parallel requests > x. - metadata: Optional[dict] - Metadata for key, store information for key. Example metadata = {"team": "core-infra", "app": "app2", "email": "ishaan@berri.ai" } - guardrails: Optional[List[str]] - List of active guardrails for the key - permissions: Optional[dict] - key-specific permissions. Currently just used for turning off pii masking (if connected). Example - {"pii": false} - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {"gpt-4": {"budget_limit": 0.0005, "time_period": "30d"}}}. IF null or {} then no model specific budget. - budget_fallbacks: Optional[Dict[str, List[str]]] - Per-model fallback chain tried in order when that model's own `model_max_budget` is exceeded, e.g. {"gpt-4o": ["gpt-4o-mini"]}. - model_rpm_limit: Optional[dict] - key-specific model rpm limit. Example - {"text-davinci-002": 1000, "gpt-3.5-turbo": 1000}. IF null or {} then no model specific rpm limit. - model_tpm_limit: Optional[dict] - key-specific model tpm limit. Example - {"text-davinci-002": 1000, "gpt-3.5-turbo": 1000}. IF null or {} then no model specific tpm limit. - default_estimated_output_tokens: Optional[int] - Proxy admin only. Expected output tokens reserved for TPM limiting when a request omits max_tokens. Positive integer. Falls back to the team setting, then to the built-in estimate. - default_estimated_output_tokens_per_model: Optional[dict] - Proxy admin only. Per-model override of the above. Example - {"gpt-4": 4096, "gpt-3.5-turbo": 1024}. Takes precedence over the key-wide value. - mcp_rpm_limit: Optional[dict] - key-specific per-MCP-server rpm limit, keyed by MCP server name (alias if set, else the configured name). Example - {"github": 100, "slack": 200}. IF null or {} then no MCP-specific rpm limit. - tpm_limit_type: Optional[str] - TPM rate limit type - "best_effort_throughput", "guaranteed_throughput", or "dynamic" - rpm_limit_type: Optional[str] - RPM rate limit type - "best_effort_throughput", "guaranteed_throughput", or "dynamic" - allowed_cache_controls: Optional[list] - List of allowed cache control values. Example - ["no-cache", "no-store"]. See all values - https://docs.litellm.ai/docs/proxy/caching#turn-on--off-caching-per-request - blocked: Optional[bool] - Whether the key is blocked. - rpm_limit: Optional[int] - Specify rpm limit for a given key (Requests per minute) - tpm_limit: Optional[int] - Specify tpm limit for a given key (Tokens per minute) - tpd_limit: Optional[int] - Specify tpd limit for a given key (Tokens per day). Charged by batch submissions instead of tpm_limit/rpm_limit. - soft_budget: Optional[float] - Specify soft budget for a given key. Will trigger a slack alert when this soft budget is reached. - tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - enforced_params: Optional[List[str]] - List of enforced params for the key (Enterprise only). [Docs](https://docs.litellm.ai/docs/proxy/enterprise#enforce-required-params-for-llm-requests) - allowed_routes: Optional[list] - List of allowed routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - ["/chat/completions", "/embeddings", "/keys/*"] - object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission. Example - {"vector_stores": ["vector_store_1", "vector_store_2"], "agents": ["agent_1", "agent_2"], "agent_access_groups": ["dev_group"]}. IF null or {} then no object permission. Examples: - allowed_vector_store_indexes: Optional[List[dict]] - List of allowed vector store indexes for the key. Example - [{"index_name": "my-index", "index_permissions": ["write", "read"]}]. If specified, the key will only be able to use these specific vector store indexes. Create index, using `/v1/indexes` endpoint. 1. Allow users to turn on/off pii masking ```bash curl --location 'http://0.0.0.0:4000/key/generate' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "permissions": {"allow_pii_controls": true} }' ``` Returns: - key: (str) The generated api key - expires: (datetime) Datetime object for when key expires. - user_id: (str) Unique user id - used for tracking spend across multiple keys for same user id. */
1606
1672
  export declare const generateServiceAccountKeyFnKeyServiceAccountGeneratePost: API.OperationMethod<GenerateServiceAccountKeyFnKeyServiceAccountGeneratePostRequest, GenerateServiceAccountKeyFnKeyServiceAccountGeneratePostResponse, GenerateServiceAccountKeyFnKeyServiceAccountGeneratePostError, LitellmOpContext>;
1607
1673
  export type GetInfoKeyFnKeyInfoError = UnprocessableEntity | LitellmOpError;
1608
- /** Info Key Fn Retrieve information about a key. Parameters: - key: str | None (query parameter) - The key to look up. Accepts the plaintext key or its hash. Defaults to the key in the Authorization header. Returns: - key: str - The key that was looked up, echoed back as it was passed in - info: dict - The key's row, minus the hashed token - key_alias: str | None - User-friendly key alias - spend: float - Amount spent by the key. When budget_duration is set this covers only the current budget window, not the key's lifetime - max_budget: float | None - Max budget for the key, enforced against spend - budget_duration: str | None - Budget reset period ("30d", "1h", etc.) - budget_reset_at: datetime | None - When the current budget window ends and spend is next reset to 0, not when it was last reset. Reset times snap to standard boundaries in the configured timezone (30d and 1mo land on the 1st of the month, 7d on Monday, 1h on the hour), so subtracting budget_duration from it does not give the window's start - model_max_budget: dict - Per-model budgets, e.g. {"gpt-4": {"budget_limit": 0.0005, "time_period": "30d"}} - model_max_budget_usage: dict | None - Current-window spend per model, present only when the key has per-model budgets - models: list - Model_name's the key is allowed to call - tpm_limit / rpm_limit: int | None - Tokens and requests per minute limits - metadata: dict - Metadata for the key, e.g. {"team": "core-infra"} - blocked: bool | None - Whether the key is blocked - expires: datetime | None - When the key stops authenticating requests - last_active: datetime | None - When the key was last used - object_permission: dict | None - Resolved vector store / MCP permissions when the key has an object_permission_id Example Curl: ``` curl -X GET "http://0.0.0.0:4000/key/info?key=sk-test-example-key-123" -H "Authorization: Bearer sk-1234" ``` Example Curl - if no key is passed, it will use the Key Passed in Authorization Header ``` curl -X GET "http://0.0.0.0:4000/key/info" -H "Authorization: Bearer sk-test-example-key-123" ``` */
1674
+ /** Info Key Fn Retrieve information about a key. Parameters: - key: str | None (query parameter) - The key to look up. Accepts the plaintext key or its hash; prefer the hash, since a query parameter is recorded verbatim by any HTTP access log in front of the proxy. Defaults to the key in the Authorization header. Returns: - key: str - The key that was looked up, echoed back as it was passed in - info: dict - The key's row, minus the hashed token. Deleted keys are served from the LiteLLM_DeletedVerificationToken archive and carry deleted_at / deleted_by - status: "active" | "expired" | "revoked" | "deleted" - Derived from blocked, expires and whether the row came from the archive - key_alias: str | None - User-friendly key alias - spend: float - Amount spent by the key. When budget_duration is set this covers only the current budget window, not the key's lifetime - max_budget: float | None - Max budget for the key, enforced against spend - budget_duration: str | None - Budget reset period ("30d", "1h", etc.) - budget_reset_at: datetime | None - When the current budget window ends and spend is next reset to 0, not when it was last reset. Reset times snap to standard boundaries in the configured timezone (30d and 1mo land on the 1st of the month, 7d on Monday, 1h on the hour), so subtracting budget_duration from it does not give the window's start - model_max_budget: dict - Per-model budgets, e.g. {"gpt-4": {"budget_limit": 0.0005, "time_period": "30d"}} - model_max_budget_usage: dict | None - Current-window spend per model, present only when the key has per-model budgets - budget_limits: list | None - Concurrent budget windows, exactly as stored - budget_limits_usage: dict | None - Current-window spend per budget window, e.g. {"1h": {"current_spend": 0.0009}}, present only when the key has budget windows (read from the same cross-pod spend counter the budget enforcement uses) - models: list - Model_name's the key is allowed to call - tpm_limit / rpm_limit: int | None - Tokens and requests per minute limits - metadata: dict - Metadata for the key, e.g. {"team": "core-infra"} - blocked: bool | None - Whether the key is blocked - expires: datetime | None - When the key stops authenticating requests - last_active: datetime | None - When the key was last used - object_permission: dict | None - Resolved vector store / MCP permissions when the key has an object_permission_id Example Curl: ``` curl -X GET "http://0.0.0.0:4000/key/info?key=d5345c0ecc68ae6295c69f91926b2bd379e25481a40c34b5884d157a9f65d8fa" -H "Authorization: Bearer sk-1234" ``` Example Curl - if no key is passed, it will use the Key Passed in Authorization Header ``` curl -X GET "http://0.0.0.0:4000/key/info" -H "Authorization: Bearer sk-test-example-key-123" ``` */
1609
1675
  export declare const getInfoKeyFnKeyInfo: API.OperationMethod<GetInfoKeyFnKeyInfoRequest, GetInfoKeyFnKeyInfoResponse, GetInfoKeyFnKeyInfoError, LitellmOpContext>;
1610
1676
  export type GetKeyAliasesKeyAliasError = UnprocessableEntity | LitellmOpError;
1611
1677
  /** Key Aliases Lists key aliases with pagination and optional search. Non-admin users only see aliases for keys they own or keys belonging to their teams. Returns: { "aliases": List[str], "total_count": int, "current_page": int, "total_pages": int, "size": int, } */
1612
1678
  export declare const getKeyAliasesKeyAlias: API.OperationMethod<GetKeyAliasesKeyAliasRequest, GetKeyAliasesKeyAliasResponse, GetKeyAliasesKeyAliasError, LitellmOpContext>;
1613
1679
  export type ListKeysKeyListGetError = BadRequest | UnprocessableEntity | LitellmOpError;
1614
- /** List Keys List all keys for a given user / team / organization. Parameters: expand: Optional[List[str]] - Expand related objects (e.g. 'user' to include user information) status: Optional[str] - Filter by status. Currently supports "deleted" to query deleted keys. Returns: { "keys": List[str] or List[UserAPIKeyAuth], "total_count": int, "current_page": int, "total_pages": int, } When expand includes "user", each key object will include a "user" field with the associated user object. Note: When expand=user is specified, full key objects are returned regardless of the return_full_object parameter. */
1680
+ /** List Keys List all keys for a given user / team / organization. Parameters: expand: Optional[List[str]] - Expand related objects (e.g. 'user' to include user information) status: Optional[str] - Filter by status: "active", "expired", "revoked" (blocked) or "deleted". "deleted" reads the LiteLLM_DeletedVerificationToken archive; the other values partition the live key table, so every live key matches exactly one of them. Returns: { "keys": List[str] or List[UserAPIKeyAuth], "total_count": int, "current_page": int, "total_pages": int, } When expand includes "user", each key object will include a "user" field with the associated user object. Note: When expand=user is specified, full key objects are returned regardless of the return_full_object parameter. */
1615
1681
  export declare const listKeysKeyListGet: API.OperationMethod<ListKeysKeyListGetRequest, KeyListResponseObject, ListKeysKeyListGetError, LitellmOpContext>;
1616
1682
  export type PostBlockKeyKeyBlockError = UnprocessableEntity | LitellmOpError;
1617
1683
  /** Block Key Block an Virtual key from making any requests. Parameters: - key: str - The key to block. Can be either the unhashed key (sk-...) or the hashed key value Example: ```bash curl --location 'http://0.0.0.0:4000/key/block' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "key": "sk-Fn8Ej39NxjAXrvpUGKghGw" }' ``` Note: This is an admin-only endpoint. Only proxy admins, team admins, or org admins can block keys. */
@@ -1635,6 +1701,6 @@ export type UnblockKeyKeyUnblockPostError = UnprocessableEntity | LitellmOpError
1635
1701
  /** Unblock Key Unblock a Virtual key to allow it to make requests again. Parameters: - key: str - The key to unblock. Can be either the unhashed key (sk-...) or the hashed key value Example: ```bash curl --location 'http://0.0.0.0:4000/key/unblock' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "key": "sk-Fn8Ej39NxjAXrvpUGKghGw" }' ``` Note: This is an admin-only endpoint. Only proxy admins, team admins, or org admins can unblock keys. */
1636
1702
  export declare const unblockKeyKeyUnblockPost: API.OperationMethod<UnblockKeyKeyUnblockPostRequest, UnblockKeyKeyUnblockPostResponse, UnblockKeyKeyUnblockPostError, LitellmOpContext>;
1637
1703
  export type UpdateKeyFnKeyUpdatePostError = BadRequest | Forbidden | NotFound | UnprocessableEntity | LitellmOpError;
1638
- /** Update Key Fn Update an existing API key's parameters. Parameters: - key: Optional[str] - The key to update. Either key or key_alias must be provided. - key_alias: Optional[str] - User-friendly key alias. If key is omitted, also identifies the key to update (must match exactly one key, same as /key/delete's key_aliases) - user_id: Optional[str] - User ID associated with key - team_id: Optional[str] - Team ID associated with key - agent_id: Optional[str] - The agent id associated with the key. - organization_id: Optional[str] - The organization id of the key. - budget_id: Optional[str] - The budget id associated with the key. Created by calling `/budget/new`. - models: Optional[list] - Model_name's a user is allowed to call - tags: Optional[List[str]] - Tags for organizing keys (Enterprise only) - prompts: Optional[List[str]] - List of prompts that the key is allowed to use. - enforced_params: Optional[List[str]] - List of enforced params for the key (Enterprise only). [Docs](https://docs.litellm.ai/docs/proxy/enterprise#enforce-required-params-for-llm-requests) - spend: Optional[float] - Amount spent by key - max_budget: Optional[float] - Max budget for key - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {"gpt-4": {"budget_limit": 0.0005, "time_period": "30d"}} - budget_fallbacks: Optional[Dict[str, List[str]]] - Per-model fallback chain tried in order when that model's own `model_max_budget` is exceeded, e.g. {"gpt-4o": ["gpt-4o-mini"]}. - budget_duration: Optional[str] - Budget reset period ("30d", "1h", etc.) - soft_budget: Optional[float] - [TODO] Soft budget limit (warning vs. hard stop). Will trigger a slack alert when this soft budget is reached. - max_parallel_requests: Optional[int] - Rate limit for parallel requests - metadata: Optional[dict] - Metadata for key. Example {"team": "core-infra", "app": "app2"} - tpm_limit: Optional[int] - Tokens per minute limit - rpm_limit: Optional[int] - Requests per minute limit - model_rpm_limit: Optional[dict] - Model-specific RPM limits {"gpt-4": 100, "claude-v1": 200} - mcp_rpm_limit: Optional[dict] - Per-MCP-server RPM limits, keyed by MCP server name {"github": 100, "slack": 200} - tag_rpm_limit: Optional[dict] - Per-request-tag RPM limits, keyed by request tag {"cell-1": 1000, "cell-2": 500}. Each tag gets an independent counter; absent tags fall back to the key-level rpm limit. - model_tpm_limit: Optional[dict] - Model-specific TPM limits {"gpt-4": 100000, "claude-v1": 200000} - default_estimated_output_tokens: Optional[int] - Proxy admin only. Expected output tokens reserved for TPM limiting when a request omits max_tokens. Positive integer. - default_estimated_output_tokens_per_model: Optional[dict] - Proxy admin only. Per-model override of the above {"gpt-4": 4096, "gpt-3.5-turbo": 1024} - tpm_limit_type: Optional[str] - TPM rate limit type - "best_effort_throughput", "guaranteed_throughput", or "dynamic" - rpm_limit_type: Optional[str] - RPM rate limit type - "best_effort_throughput", "guaranteed_throughput", or "dynamic" - allowed_cache_controls: Optional[list] - List of allowed cache control values - duration: Optional[str] - Key validity duration ("30d", "1h", etc.), null to never expire, or "-1" to never expire (deprecated, use null) - permissions: Optional[dict] - Key-specific permissions - send_invite_email: Optional[bool] - Send invite email to user_id - guardrails: Optional[List[str]] - List of active guardrails for the key - policies: Optional[List[str]] - List of policy names to apply to the key. Policies define guardrails, conditions, and inheritance rules. - disable_global_guardrails: Optional[bool] - Whether to disable global guardrails for the key. - throttle_on_budget_exceeded: Optional[bool] - When the key exceeds its max_budget, throttle its tpm/rpm to the global budget_exceeded_throttle_percentage instead of blocking the key entirely. - enable_prompt_caching: Optional[bool] - Auto-inject prompt caching breakpoints (Anthropic cache_control markers) on requests made with this key. Anthropic and Bedrock Claude models only. - prompts: Optional[List[str]] - List of prompts that the key is allowed to use. - blocked: Optional[bool] - Whether the key is blocked - aliases: Optional[dict] - Model aliases for the key - [Docs](https://litellm.vercel.app/docs/proxy/virtual_keys#model-aliases) - config: Optional[dict] - [DEPRECATED PARAM] Key-specific config. - temp_budget_increase: Optional[float] - Temporary budget increase for the key (Enterprise only). - temp_budget_expiry: Optional[str] - Expiry time for the temporary budget increase (Enterprise only). - allowed_routes: Optional[list] - List of allowed routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - ["/chat/completions", "/embeddings", "/keys/*"] - allowed_passthrough_routes: Optional[list] - List of allowed pass through routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - ["/my-custom-endpoint"]. Use this instead of allowed_routes, if you just want to specify which pass through routes the key can access, without specifying the routes. If allowed_routes is specified, allowed_passthrough_routes is ignored. - prompts: Optional[List[str]] - List of allowed prompts for the key. If specified, the key will only be able to use these specific prompts. - object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission. Example - {"vector_stores": ["vector_store_1", "vector_store_2"], "agents": ["agent_1", "agent_2"], "agent_access_groups": ["dev_group"]}. IF null or {} then no object permission. - auto_rotate: Optional[bool] - Whether this key should be automatically rotated - rotation_interval: Optional[str] - How often to rotate this key (e.g., '30d', '90d'). Required if auto_rotate=True - allowed_vector_store_indexes: Optional[List[dict]] - List of allowed vector store indexes for the key. Example - [{"index_name": "my-index", "index_permissions": ["write", "read"]}]. If specified, the key will only be able to use these specific vector store indexes. Create index, using `/v1/indexes` endpoint. - router_settings: Optional[UpdateRouterConfig] - key-specific router settings. Example - {"model_group_retry_policy": {"gpt-4": {"RateLimitErrorRetries": 5}}}. IF null or {} then no router settings. - access_group_ids: Optional[List[str]] - List of access group IDs to associate with the key. Access groups define which models a key can access. Example - ["access_group_1", "access_group_2"]. - budget_limits: Optional[list] - List of concurrent budget windows for the key. Each window specifies a budget_limit, time_period, and optional budget_duration. Example - [{"budget_limit": 10.0, "time_period": "1d"}, {"budget_limit": 50.0, "time_period": "7d"}]. Example: ```bash curl --location 'http://0.0.0.0:4000/key/update' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "key": "sk-1234", "key_alias": "my-key", "user_id": "user-1234", "team_id": "team-1234", "max_budget": 100, "metadata": {"any_key": "any-val"}, }' ``` */
1704
+ /** Update Key Fn Update an existing API key's parameters. The body is a merge patch: a field left out keeps its stored value, and on the key's own columns an explicit null clears it. The metadata-backed fields below are the exception, merging into the stored metadata instead: passing one as null leaves it unchanged, while `metadata` itself replaces the stored metadata wholesale. Parameters: - key: Optional[str] - The key to update. Either key or key_alias must be provided. - key_alias: Optional[str] - User-friendly key alias. If key is omitted, also identifies the key to update (must match exactly one key, same as /key/delete's key_aliases) - user_id: Optional[str] - User ID associated with key - team_id: Optional[str] - Team ID associated with key - agent_id: Optional[str] - The agent id associated with the key. - project_id: Optional[str] - Omit to retain the project, or send null to detach. A different project ID is rejected. - organization_id: Optional[str] - The organization id of the key. - budget_id: Optional[str] - The budget id associated with the key. Created by calling `/budget/new`. - end_user_budget_id: Optional[str] - Proxy admin only. Budget id applied to end users first seen through this key that carry no budget of their own. Omit to keep the current value, pass an empty string to clear it. - models: Optional[list] - Model_name's a user is allowed to call - tags: Optional[List[str]] - Tags for organizing keys (Enterprise only) - prompts: Optional[List[str]] - List of prompts that the key is allowed to use. - enforced_params: Optional[List[str]] - List of enforced params for the key (Enterprise only). [Docs](https://docs.litellm.ai/docs/proxy/enterprise#enforce-required-params-for-llm-requests) - spend: Optional[float] - Amount spent by key - max_budget: Optional[float] - Max budget for key - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {"gpt-4": {"budget_limit": 0.0005, "time_period": "30d"}} - budget_fallbacks: Optional[Dict[str, List[str]]] - Per-model fallback chain tried in order when that model's own `model_max_budget` is exceeded, e.g. {"gpt-4o": ["gpt-4o-mini"]}. - budget_duration: Optional[str] - Budget reset period ("30d", "1h", etc.) - soft_budget: Optional[float] - Soft budget limit (warning vs. hard stop). Will trigger a slack alert when this soft budget is reached. Set to null to remove the soft budget. - max_parallel_requests: Optional[int] - Rate limit for parallel requests - metadata: Optional[dict] - Metadata for key. Example {"team": "core-infra", "app": "app2"} - tpm_limit: Optional[int] - Tokens per minute limit - rpm_limit: Optional[int] - Requests per minute limit - tpd_limit: Optional[int] - Tokens per day limit, charged by batch submissions instead of tpm_limit/rpm_limit - model_rpm_limit: Optional[dict] - Model-specific RPM limits {"gpt-4": 100, "claude-v1": 200} - mcp_rpm_limit: Optional[dict] - Per-MCP-server RPM limits, keyed by MCP server name {"github": 100, "slack": 200} - tag_rpm_limit: Optional[dict] - Per-request-tag RPM limits, keyed by request tag {"cell-1": 1000, "cell-2": 500}. Each tag gets an independent counter; absent tags fall back to the key-level rpm limit. - model_tpm_limit: Optional[dict] - Model-specific TPM limits {"gpt-4": 100000, "claude-v1": 200000} - default_estimated_output_tokens: Optional[int] - Proxy admin only. Expected output tokens reserved for TPM limiting when a request omits max_tokens. Positive integer. - default_estimated_output_tokens_per_model: Optional[dict] - Proxy admin only. Per-model override of the above {"gpt-4": 4096, "gpt-3.5-turbo": 1024} - tpm_limit_type: Optional[str] - TPM rate limit type - "best_effort_throughput", "guaranteed_throughput", or "dynamic" - rpm_limit_type: Optional[str] - RPM rate limit type - "best_effort_throughput", "guaranteed_throughput", or "dynamic" - allowed_cache_controls: Optional[list] - List of allowed cache control values - duration: Optional[str] - Key validity duration ("30d", "1h", etc.), null to never expire, or "-1" to never expire (deprecated, use null) - permissions: Optional[dict] - Key-specific permissions - send_invite_email: Optional[bool] - Send invite email to user_id - guardrails: Optional[List[str]] - List of active guardrails for the key - policies: Optional[List[str]] - List of policy names to apply to the key. Policies define guardrails, conditions, and inheritance rules. - disable_global_guardrails: Optional[bool] - Whether to disable global guardrails for the key. - throttle_on_budget_exceeded: Optional[bool] - When the key exceeds its max_budget, throttle its tpm/rpm to the global budget_exceeded_throttle_percentage instead of blocking the key entirely. - enable_prompt_caching: Optional[bool] - Auto-inject prompt caching breakpoints (Anthropic cache_control markers) on requests made with this key. Supported Claude models on Anthropic, Bedrock, Vertex AI, and Azure AI only. - prompts: Optional[List[str]] - List of prompts that the key is allowed to use. - blocked: Optional[bool] - Whether the key is blocked - aliases: Optional[dict] - Model aliases for the key - [Docs](https://litellm.vercel.app/docs/proxy/virtual_keys#model-aliases) - config: Optional[dict] - [DEPRECATED PARAM] Key-specific config. - temp_budget_increase: Optional[float] - Temporary budget increase for the key (Enterprise only). - temp_budget_expiry: Optional[str] - Expiry time for the temporary budget increase (Enterprise only). - allowed_routes: Optional[list] - List of allowed routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - ["/chat/completions", "/embeddings", "/keys/*"] - allowed_passthrough_routes: Optional[list] - List of allowed pass through routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - ["/my-custom-endpoint"]. Use this instead of allowed_routes, if you just want to specify which pass through routes the key can access, without specifying the routes. If allowed_routes is specified, allowed_passthrough_routes is ignored. - prompts: Optional[List[str]] - List of allowed prompts for the key. If specified, the key will only be able to use these specific prompts. - object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission. Example - {"vector_stores": ["vector_store_1", "vector_store_2"], "agents": ["agent_1", "agent_2"], "agent_access_groups": ["dev_group"]}. IF null or {} then no object permission. - auto_rotate: Optional[bool] - Whether this key should be automatically rotated - rotation_interval: Optional[str] - How often to rotate this key (e.g., '30d', '90d'). Required if auto_rotate=True - allowed_vector_store_indexes: Optional[List[dict]] - List of allowed vector store indexes for the key. Example - [{"index_name": "my-index", "index_permissions": ["write", "read"]}]. If specified, the key will only be able to use these specific vector store indexes. Create index, using `/v1/indexes` endpoint. - router_settings: Optional[UpdateRouterConfig] - key-specific router settings. Example - {"model_group_retry_policy": {"gpt-4": {"RateLimitErrorRetries": 5}}}. IF null or {} then no router settings. - access_group_ids: Optional[List[str]] - List of access group IDs to associate with the key. Access groups define which models a key can access. Example - ["access_group_1", "access_group_2"]. - budget_limits: Optional[list] - List of concurrent budget windows for the key. Each window specifies a budget_limit, time_period, and optional budget_duration. Example - [{"budget_limit": 10.0, "time_period": "1d"}, {"budget_limit": 50.0, "time_period": "7d"}]. Example: ```bash curl --location 'http://0.0.0.0:4000/key/update' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "key": "sk-1234", "key_alias": "my-key", "user_id": "user-1234", "team_id": "team-1234", "max_budget": 100, "metadata": {"any_key": "any-val"}, }' ``` */
1639
1705
  export declare const updateKeyFnKeyUpdatePost: API.OperationMethod<UpdateKeyFnKeyUpdatePostRequest, UpdateKeyFnKeyUpdatePostResponse, UpdateKeyFnKeyUpdatePostError, LitellmOpContext>;
1640
1706
  //# sourceMappingURL=key_management.d.ts.map