litellm_client 1.0.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 (913) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +741 -0
  4. data/Rakefile +10 -0
  5. data/docs/AddTeamCallback.md +22 -0
  6. data/docs/Annotations.md +15 -0
  7. data/docs/AnthropicPassThroughApi.md +367 -0
  8. data/docs/ApiBase.md +15 -0
  9. data/docs/ApiKey.md +15 -0
  10. data/docs/ApiVersion.md +15 -0
  11. data/docs/ApplyGuardrailRequest.md +24 -0
  12. data/docs/ApplyGuardrailResponse.md +18 -0
  13. data/docs/AssemblyAIEUPassThroughApi.md +357 -0
  14. data/docs/AssemblyAIPassThroughApi.md +357 -0
  15. data/docs/AssistantsApi.md +1141 -0
  16. data/docs/AudioApi.md +289 -0
  17. data/docs/AuditLogResponse.md +34 -0
  18. data/docs/AuditLoggingApi.md +173 -0
  19. data/docs/AwsAccessKeyId.md +15 -0
  20. data/docs/AwsRegionName.md +15 -0
  21. data/docs/AwsSecretAccessKey.md +15 -0
  22. data/docs/AzurePassThroughApi.md +367 -0
  23. data/docs/BaseModel.md +15 -0
  24. data/docs/BatchApi.md +913 -0
  25. data/docs/BatchSize.md +15 -0
  26. data/docs/BedrockPassThroughApi.md +367 -0
  27. data/docs/BlockKeyRequest.md +18 -0
  28. data/docs/BlockTeamRequest.md +18 -0
  29. data/docs/BlockUsers.md +18 -0
  30. data/docs/BodyTestModelConnectionHealthTestConnectionPost.md +20 -0
  31. data/docs/BreakdownMetrics.md +24 -0
  32. data/docs/BudgetConfig.md +24 -0
  33. data/docs/BudgetDeleteRequest.md +18 -0
  34. data/docs/BudgetDuration.md +15 -0
  35. data/docs/BudgetManagementApi.md +436 -0
  36. data/docs/BudgetNewRequest.md +34 -0
  37. data/docs/BudgetRequest.md +18 -0
  38. data/docs/BudgetSpendTrackingApi.md +694 -0
  39. data/docs/Bytes.md +15 -0
  40. data/docs/CacheControl.md +18 -0
  41. data/docs/CachePingResponse.md +28 -0
  42. data/docs/CachingApi.md +421 -0
  43. data/docs/CallTypes.md +15 -0
  44. data/docs/ChatCompletionAnnotation.md +20 -0
  45. data/docs/ChatCompletionAnnotationURLCitation.md +24 -0
  46. data/docs/ChatCompletionAudioResponse.md +24 -0
  47. data/docs/ChatCompletionCachedContent.md +18 -0
  48. data/docs/ChatCompletionRedactedThinkingBlock.md +22 -0
  49. data/docs/ChatCompletionThinkingBlock.md +24 -0
  50. data/docs/ChatCompletionTokenLogprob.md +24 -0
  51. data/docs/ChatCompletionsApi.md +299 -0
  52. data/docs/ChoiceLogprobs.md +18 -0
  53. data/docs/Choices.md +26 -0
  54. data/docs/Choices1Inner.md +26 -0
  55. data/docs/CoherePassThroughApi.md +367 -0
  56. data/docs/CompletionsApi.md +299 -0
  57. data/docs/ConfigurableClientsideAuthParams.md +15 -0
  58. data/docs/ConfigurableClientsideAuthParamsAnyOfInner.md +18 -0
  59. data/docs/ConfigurableClientsideParamsCustomAuth.md +18 -0
  60. data/docs/Content.md +15 -0
  61. data/docs/Content1.md +15 -0
  62. data/docs/CreateCredentialItem.md +24 -0
  63. data/docs/CreateGuardrailRequest.md +18 -0
  64. data/docs/CreatedAt.md +15 -0
  65. data/docs/CreatedBy.md +15 -0
  66. data/docs/CredentialItem.md +22 -0
  67. data/docs/CredentialManagementApi.md +444 -0
  68. data/docs/CustomLlmProvider.md +15 -0
  69. data/docs/CustomLlmProvider1.md +15 -0
  70. data/docs/CustomerManagementApi.md +508 -0
  71. data/docs/DailySpendData.md +22 -0
  72. data/docs/DailySpendMetadata.md +40 -0
  73. data/docs/DefaultApi.md +811 -0
  74. data/docs/DefaultInternalUserParams.md +24 -0
  75. data/docs/DefaultTeamSSOParams.md +26 -0
  76. data/docs/DefaultTeamSettingsResponse.md +20 -0
  77. data/docs/DeleteCustomerRequest.md +18 -0
  78. data/docs/DeleteOrganizationRequest.md +18 -0
  79. data/docs/DeleteTeamRequest.md +18 -0
  80. data/docs/DeleteUserRequest.md +18 -0
  81. data/docs/Deployment.md +22 -0
  82. data/docs/Description.md +15 -0
  83. data/docs/Destructivehint.md +15 -0
  84. data/docs/EmailEvent.md +15 -0
  85. data/docs/EmailEventSettings.md +20 -0
  86. data/docs/EmailEventSettingsResponse.md +18 -0
  87. data/docs/EmailEventSettingsUpdateRequest.md +18 -0
  88. data/docs/EmailManagementApi.md +217 -0
  89. data/docs/EmbeddingsApi.md +299 -0
  90. data/docs/Endtime.md +15 -0
  91. data/docs/ErrorResponse.md +18 -0
  92. data/docs/Expires.md +15 -0
  93. data/docs/FilesApi.md +1165 -0
  94. data/docs/FineTuningApi.md +607 -0
  95. data/docs/FunctionCall.md +20 -0
  96. data/docs/GenerateKeyRequest.md +74 -0
  97. data/docs/GenerateKeyResponse.md +88 -0
  98. data/docs/GetTeamMemberPermissionsResponse.md +22 -0
  99. data/docs/GoogleAIStudioPassThroughApi.md +332 -0
  100. data/docs/Guardrail.md +28 -0
  101. data/docs/GuardrailInfoLiteLLMParamsResponse.md +24 -0
  102. data/docs/GuardrailInfoResponse.md +30 -0
  103. data/docs/GuardrailsApi.md +791 -0
  104. data/docs/HTTPValidationError.md +18 -0
  105. data/docs/HealthApi.md +820 -0
  106. data/docs/Hyperparameters.md +22 -0
  107. data/docs/IPAddress.md +18 -0
  108. data/docs/Id.md +15 -0
  109. data/docs/Idempotenthint.md +15 -0
  110. data/docs/ImagesApi.md +455 -0
  111. data/docs/InputCostPerPixel.md +15 -0
  112. data/docs/InputCostPerSecond.md +15 -0
  113. data/docs/InputCostPerToken.md +15 -0
  114. data/docs/Integrations.md +15 -0
  115. data/docs/InternalUserManagementApi.md +475 -0
  116. data/docs/InternalUserSettingsResponse.md +20 -0
  117. data/docs/KeyHealthResponse.md +20 -0
  118. data/docs/KeyListResponseObject.md +24 -0
  119. data/docs/KeyListResponseObjectKeysInner.md +134 -0
  120. data/docs/KeyManagementApi.md +780 -0
  121. data/docs/KeyMetadata.md +20 -0
  122. data/docs/KeyMetricWithMetadata.md +20 -0
  123. data/docs/KeyRequest.md +20 -0
  124. data/docs/LakeraCategoryThresholds.md +20 -0
  125. data/docs/LangfusePassThroughApi.md +332 -0
  126. data/docs/LearningRateMultiplier.md +15 -0
  127. data/docs/ListGuardrailsResponse.md +18 -0
  128. data/docs/ListMCPToolsRestAPIResponseObject.md +26 -0
  129. data/docs/ListMCPToolsRestAPIResponseObjectAnnotations.md +26 -0
  130. data/docs/ListMCPToolsRestAPIResponseObjectMcpInfo.md +22 -0
  131. data/docs/LiteLLMBudgetTable.md +32 -0
  132. data/docs/LiteLLMEndUserTable.md +30 -0
  133. data/docs/LiteLLMFineTuningJobCreate.md +32 -0
  134. data/docs/LiteLLMFineTuningJobCreateHyperparameters.md +22 -0
  135. data/docs/LiteLLMMCPServerTable.md +38 -0
  136. data/docs/LiteLLMManagedVectorStore.md +32 -0
  137. data/docs/LiteLLMManagedVectorStoreListResponse.md +26 -0
  138. data/docs/LiteLLMModelTable.md +26 -0
  139. data/docs/LiteLLMObjectPermissionBase.md +20 -0
  140. data/docs/LiteLLMObjectPermissionTable.md +22 -0
  141. data/docs/LiteLLMOrganizationMembershipTable.md +34 -0
  142. data/docs/LiteLLMOrganizationTableUpdate.md +32 -0
  143. data/docs/LiteLLMOrganizationTableWithMembers.md +48 -0
  144. data/docs/LiteLLMParams.md +88 -0
  145. data/docs/LiteLLMSpendLogs.md +54 -0
  146. data/docs/LiteLLMTeamMembership.md +24 -0
  147. data/docs/LiteLLMTeamTable.md +62 -0
  148. data/docs/LiteLLMUserTable.md +56 -0
  149. data/docs/LiteLLMUserTableWithKeyCount.md +58 -0
  150. data/docs/LiteLLMVerificationToken.md +80 -0
  151. data/docs/LitellmCredentialName.md +15 -0
  152. data/docs/LitellmParams.md +92 -0
  153. data/docs/LitellmTraceId.md +15 -0
  154. data/docs/LitellmUserRoles.md +15 -0
  155. data/docs/LlmUtilsApi.md +219 -0
  156. data/docs/LoggingCallbackStatus.md +22 -0
  157. data/docs/Logprobs.md +18 -0
  158. data/docs/MCPInfo.md +22 -0
  159. data/docs/MaxBudget.md +15 -0
  160. data/docs/MaxFileSizeMb.md +15 -0
  161. data/docs/MaxRetries.md +15 -0
  162. data/docs/McpApi.md +519 -0
  163. data/docs/Member.md +22 -0
  164. data/docs/Member1.md +22 -0
  165. data/docs/Member2.md +22 -0
  166. data/docs/MergeReasoningContentInChoices.md +15 -0
  167. data/docs/Message.md +34 -0
  168. data/docs/MessageAudio.md +24 -0
  169. data/docs/MessageFunctionCall.md +20 -0
  170. data/docs/Messages.md +15 -0
  171. data/docs/MetricWithMetadata.md +20 -0
  172. data/docs/MistralPassThroughApi.md +367 -0
  173. data/docs/MockResponse.md +28 -0
  174. data/docs/Mode.md +15 -0
  175. data/docs/Mode1.md +15 -0
  176. data/docs/Model.md +15 -0
  177. data/docs/ModelAliases.md +15 -0
  178. data/docs/ModelInfo.md +15 -0
  179. data/docs/ModelInfoDelete.md +18 -0
  180. data/docs/ModelManagementApi.md +679 -0
  181. data/docs/ModelResponse.md +28 -0
  182. data/docs/ModerationsApi.md +145 -0
  183. data/docs/NEpochs.md +15 -0
  184. data/docs/Name.md +15 -0
  185. data/docs/NewCustomerRequest.md +46 -0
  186. data/docs/NewMCPServerRequest.md +30 -0
  187. data/docs/NewOrganizationRequest.md +42 -0
  188. data/docs/NewOrganizationResponse.md +44 -0
  189. data/docs/NewTeamRequest.md +52 -0
  190. data/docs/NewUserRequest.md +76 -0
  191. data/docs/NewUserResponse.md +96 -0
  192. data/docs/OpenAIPassThroughApi.md +367 -0
  193. data/docs/Openworldhint.md +15 -0
  194. data/docs/OrgMember.md +22 -0
  195. data/docs/Organization.md +15 -0
  196. data/docs/OrganizationAddMemberResponse.md +22 -0
  197. data/docs/OrganizationManagementApi.md +652 -0
  198. data/docs/OrganizationMemberAddRequest.md +22 -0
  199. data/docs/OrganizationMemberDeleteRequest.md +22 -0
  200. data/docs/OrganizationMemberUpdateRequest.md +26 -0
  201. data/docs/OrganizationRequest.md +18 -0
  202. data/docs/OutputCostPerPixel.md +15 -0
  203. data/docs/OutputCostPerSecond.md +15 -0
  204. data/docs/OutputCostPerToken.md +15 -0
  205. data/docs/PaginatedAuditLogResponse.md +26 -0
  206. data/docs/PassThroughApi.md +4562 -0
  207. data/docs/PassThroughEndpointResponse.md +18 -0
  208. data/docs/PassThroughGenericEndpoint.md +22 -0
  209. data/docs/PatchGuardrailLitellmParams.md +20 -0
  210. data/docs/PatchGuardrailRequest.md +22 -0
  211. data/docs/PiiAction.md +15 -0
  212. data/docs/PiiEntityType.md +15 -0
  213. data/docs/ProviderBudgetResponse.md +18 -0
  214. data/docs/ProviderBudgetResponseObject.md +24 -0
  215. data/docs/ProviderSpecificFields.md +15 -0
  216. data/docs/RawRequestTypedDict.md +24 -0
  217. data/docs/Readonlyhint.md +15 -0
  218. data/docs/ReasoningContent.md +15 -0
  219. data/docs/RegenerateKeyRequest.md +76 -0
  220. data/docs/RegionName.md +15 -0
  221. data/docs/RerankApi.md +208 -0
  222. data/docs/Resources.md +15 -0
  223. data/docs/Response.md +15 -0
  224. data/docs/ResponsesApi.md +577 -0
  225. data/docs/Rpm.md +15 -0
  226. data/docs/SCIMGroup.md +28 -0
  227. data/docs/SCIMListResponse.md +26 -0
  228. data/docs/SCIMMember.md +20 -0
  229. data/docs/SCIMPatchOp.md +20 -0
  230. data/docs/SCIMPatchOperation.md +22 -0
  231. data/docs/SCIMUser.md +36 -0
  232. data/docs/SCIMUserEmail.md +22 -0
  233. data/docs/SCIMUserGroup.md +22 -0
  234. data/docs/SCIMUserName.md +28 -0
  235. data/docs/SCIMV2Api.md +889 -0
  236. data/docs/SSOConfig.md +40 -0
  237. data/docs/SSOSettingsApi.md +430 -0
  238. data/docs/SSOSettingsResponse.md +20 -0
  239. data/docs/Seed.md +15 -0
  240. data/docs/Service.md +15 -0
  241. data/docs/SpendAnalyticsPaginatedResponse.md +20 -0
  242. data/docs/SpendCalculateRequest.md +22 -0
  243. data/docs/SpendMetrics.md +34 -0
  244. data/docs/Starttime.md +15 -0
  245. data/docs/StreamTimeout.md +15 -0
  246. data/docs/Suffix.md +15 -0
  247. data/docs/SystemFingerprint.md +15 -0
  248. data/docs/TagConfig.md +30 -0
  249. data/docs/TagDeleteRequest.md +18 -0
  250. data/docs/TagInfoRequest.md +18 -0
  251. data/docs/TagManagementApi.md +450 -0
  252. data/docs/TagNewRequest.md +24 -0
  253. data/docs/TagUpdateRequest.md +24 -0
  254. data/docs/TeamAddMemberResponse.md +66 -0
  255. data/docs/TeamId.md +15 -0
  256. data/docs/TeamListResponse.md +26 -0
  257. data/docs/TeamManagementApi.md +1433 -0
  258. data/docs/TeamMemberAddRequest.md +22 -0
  259. data/docs/TeamMemberDeleteRequest.md +22 -0
  260. data/docs/TeamMemberUpdateRequest.md +26 -0
  261. data/docs/TeamMemberUpdateResponse.md +24 -0
  262. data/docs/TeamModelAddRequest.md +20 -0
  263. data/docs/TeamModelDeleteRequest.md +20 -0
  264. data/docs/TeamPublicModelName.md +15 -0
  265. data/docs/ThinkingBlocks.md +15 -0
  266. data/docs/ThinkingBlocksAnyOfInner.md +26 -0
  267. data/docs/Tier.md +15 -0
  268. data/docs/Timeout.md +15 -0
  269. data/docs/Title.md +15 -0
  270. data/docs/TokenCountRequest.md +22 -0
  271. data/docs/TokenCountResponse.md +24 -0
  272. data/docs/ToolAnnotations.md +26 -0
  273. data/docs/ToolCalls.md +15 -0
  274. data/docs/TopLogprob.md +22 -0
  275. data/docs/Tpm.md +15 -0
  276. data/docs/TransformRequestBody.md +20 -0
  277. data/docs/UiDiscoveryEndpoints.md +20 -0
  278. data/docs/UpdateCustomerRequest.md +30 -0
  279. data/docs/UpdateDeployment.md +22 -0
  280. data/docs/UpdateGuardrailRequest.md +18 -0
  281. data/docs/UpdateKeyRequest.md +74 -0
  282. data/docs/UpdateLiteLLMParams.md +88 -0
  283. data/docs/UpdateMCPServerRequest.md +30 -0
  284. data/docs/UpdateTeamMemberPermissionsRequest.md +20 -0
  285. data/docs/UpdateTeamRequest.md +44 -0
  286. data/docs/UpdateUserRequest.md +66 -0
  287. data/docs/UpdatedAt.md +15 -0
  288. data/docs/UpdatedBy.md +15 -0
  289. data/docs/UseInPassThrough.md +15 -0
  290. data/docs/UseLitellmProxy.md +15 -0
  291. data/docs/UserAPIKeyAuth.md +134 -0
  292. data/docs/UserListResponse.md +26 -0
  293. data/docs/VLLMPassThroughApi.md +367 -0
  294. data/docs/ValidationError.md +22 -0
  295. data/docs/ValidationErrorLocInner.md +15 -0
  296. data/docs/ValidationFile.md +15 -0
  297. data/docs/VectorStoreDeleteRequest.md +18 -0
  298. data/docs/VectorStoreManagementApi.md +227 -0
  299. data/docs/VectorStoreMetadata.md +15 -0
  300. data/docs/VertexAIPassThroughApi.md +692 -0
  301. data/docs/VertexCredentials.md +15 -0
  302. data/docs/VertexLocation.md +15 -0
  303. data/docs/VertexProject.md +15 -0
  304. data/docs/WatsonxRegionName.md +15 -0
  305. data/git_push.sh +57 -0
  306. data/lib/litellm_client/api/anthropic_pass_through_api.rb +337 -0
  307. data/lib/litellm_client/api/assembly_ai_pass_through_api.rb +327 -0
  308. data/lib/litellm_client/api/assembly_aieu_pass_through_api.rb +327 -0
  309. data/lib/litellm_client/api/assistants_api.rb +994 -0
  310. data/lib/litellm_client/api/audio_api.rb +274 -0
  311. data/lib/litellm_client/api/audit_logging_api.rb +187 -0
  312. data/lib/litellm_client/api/azure_pass_through_api.rb +337 -0
  313. data/lib/litellm_client/api/batch_api.rb +792 -0
  314. data/lib/litellm_client/api/bedrock_pass_through_api.rb +337 -0
  315. data/lib/litellm_client/api/budget_management_api.rb +415 -0
  316. data/lib/litellm_client/api/budget_spend_tracking_api.rb +649 -0
  317. data/lib/litellm_client/api/caching_api.rb +364 -0
  318. data/lib/litellm_client/api/chat_completions_api.rb +260 -0
  319. data/lib/litellm_client/api/cohere_pass_through_api.rb +337 -0
  320. data/lib/litellm_client/api/completions_api.rb +260 -0
  321. data/lib/litellm_client/api/credential_management_api.rb +415 -0
  322. data/lib/litellm_client/api/customer_management_api.rb +483 -0
  323. data/lib/litellm_client/api/default_api.rb +728 -0
  324. data/lib/litellm_client/api/email_management_api.rb +204 -0
  325. data/lib/litellm_client/api/embeddings_api.rb +260 -0
  326. data/lib/litellm_client/api/files_api.rb +1064 -0
  327. data/lib/litellm_client/api/fine_tuning_api.rb +570 -0
  328. data/lib/litellm_client/api/google_ai_studio_pass_through_api.rb +337 -0
  329. data/lib/litellm_client/api/guardrails_api.rb +723 -0
  330. data/lib/litellm_client/api/health_api.rb +723 -0
  331. data/lib/litellm_client/api/images_api.rb +419 -0
  332. data/lib/litellm_client/api/internal_user_management_api.rb +472 -0
  333. data/lib/litellm_client/api/key_management_api.rb +735 -0
  334. data/lib/litellm_client/api/langfuse_pass_through_api.rb +337 -0
  335. data/lib/litellm_client/api/llm_utils_api.rb +218 -0
  336. data/lib/litellm_client/api/mcp_api.rb +467 -0
  337. data/lib/litellm_client/api/mistral_pass_through_api.rb +337 -0
  338. data/lib/litellm_client/api/model_management_api.rb +618 -0
  339. data/lib/litellm_client/api/moderations_api.rb +136 -0
  340. data/lib/litellm_client/api/open_ai_pass_through_api.rb +337 -0
  341. data/lib/litellm_client/api/organization_management_api.rb +619 -0
  342. data/lib/litellm_client/api/pass_through_api.rb +4097 -0
  343. data/lib/litellm_client/api/rerank_api.rb +187 -0
  344. data/lib/litellm_client/api/responses_api.rb +514 -0
  345. data/lib/litellm_client/api/scimv2_api.rb +862 -0
  346. data/lib/litellm_client/api/sso_settings_api.rb +397 -0
  347. data/lib/litellm_client/api/tag_management_api.rb +429 -0
  348. data/lib/litellm_client/api/team_management_api.rb +1339 -0
  349. data/lib/litellm_client/api/vector_store_management_api.rb +221 -0
  350. data/lib/litellm_client/api/vertex_ai_pass_through_api.rb +652 -0
  351. data/lib/litellm_client/api/vllm_pass_through_api.rb +337 -0
  352. data/lib/litellm_client/api_client.rb +393 -0
  353. data/lib/litellm_client/api_error.rb +58 -0
  354. data/lib/litellm_client/configuration.rb +308 -0
  355. data/lib/litellm_client/models/add_team_callback.rb +309 -0
  356. data/lib/litellm_client/models/annotations.rb +104 -0
  357. data/lib/litellm_client/models/api_base.rb +104 -0
  358. data/lib/litellm_client/models/api_key.rb +104 -0
  359. data/lib/litellm_client/models/api_version.rb +104 -0
  360. data/lib/litellm_client/models/apply_guardrail_request.rb +285 -0
  361. data/lib/litellm_client/models/apply_guardrail_response.rb +237 -0
  362. data/lib/litellm_client/models/audit_log_response.rb +418 -0
  363. data/lib/litellm_client/models/aws_access_key_id.rb +104 -0
  364. data/lib/litellm_client/models/aws_region_name.rb +104 -0
  365. data/lib/litellm_client/models/aws_secret_access_key.rb +104 -0
  366. data/lib/litellm_client/models/base_model.rb +104 -0
  367. data/lib/litellm_client/models/batch_size.rb +104 -0
  368. data/lib/litellm_client/models/block_key_request.rb +237 -0
  369. data/lib/litellm_client/models/block_team_request.rb +237 -0
  370. data/lib/litellm_client/models/block_users.rb +239 -0
  371. data/lib/litellm_client/models/body_test_model_connection_health_test_connection_post.rb +267 -0
  372. data/lib/litellm_client/models/breakdown_metrics.rb +256 -0
  373. data/lib/litellm_client/models/budget_config.rb +251 -0
  374. data/lib/litellm_client/models/budget_delete_request.rb +237 -0
  375. data/lib/litellm_client/models/budget_duration.rb +104 -0
  376. data/lib/litellm_client/models/budget_new_request.rb +303 -0
  377. data/lib/litellm_client/models/budget_request.rb +239 -0
  378. data/lib/litellm_client/models/bytes.rb +104 -0
  379. data/lib/litellm_client/models/cache_control.rb +104 -0
  380. data/lib/litellm_client/models/cache_ping_response.rb +305 -0
  381. data/lib/litellm_client/models/call_types.rb +102 -0
  382. data/lib/litellm_client/models/chat_completion_annotation.rb +263 -0
  383. data/lib/litellm_client/models/chat_completion_annotation_url_citation.rb +247 -0
  384. data/lib/litellm_client/models/chat_completion_audio_response.rb +315 -0
  385. data/lib/litellm_client/models/chat_completion_cached_content.rb +261 -0
  386. data/lib/litellm_client/models/chat_completion_redacted_thinking_block.rb +280 -0
  387. data/lib/litellm_client/models/chat_completion_thinking_block.rb +289 -0
  388. data/lib/litellm_client/models/chat_completion_token_logprob.rb +300 -0
  389. data/lib/litellm_client/models/choice_logprobs.rb +220 -0
  390. data/lib/litellm_client/models/choices.rb +307 -0
  391. data/lib/litellm_client/models/choices1_inner.rb +104 -0
  392. data/lib/litellm_client/models/configurable_clientside_auth_params.rb +104 -0
  393. data/lib/litellm_client/models/configurable_clientside_auth_params_any_of_inner.rb +104 -0
  394. data/lib/litellm_client/models/configurable_clientside_params_custom_auth.rb +237 -0
  395. data/lib/litellm_client/models/content.rb +104 -0
  396. data/lib/litellm_client/models/content1.rb +104 -0
  397. data/lib/litellm_client/models/create_credential_item.rb +287 -0
  398. data/lib/litellm_client/models/create_guardrail_request.rb +237 -0
  399. data/lib/litellm_client/models/created_at.rb +104 -0
  400. data/lib/litellm_client/models/created_by.rb +104 -0
  401. data/lib/litellm_client/models/credential_item.rb +293 -0
  402. data/lib/litellm_client/models/custom_llm_provider.rb +104 -0
  403. data/lib/litellm_client/models/custom_llm_provider1.rb +104 -0
  404. data/lib/litellm_client/models/daily_spend_data.rb +272 -0
  405. data/lib/litellm_client/models/daily_spend_metadata.rb +343 -0
  406. data/lib/litellm_client/models/default_internal_user_params.rb +288 -0
  407. data/lib/litellm_client/models/default_team_settings_response.rb +268 -0
  408. data/lib/litellm_client/models/default_team_sso_params.rb +264 -0
  409. data/lib/litellm_client/models/delete_customer_request.rb +240 -0
  410. data/lib/litellm_client/models/delete_organization_request.rb +239 -0
  411. data/lib/litellm_client/models/delete_team_request.rb +239 -0
  412. data/lib/litellm_client/models/delete_user_request.rb +239 -0
  413. data/lib/litellm_client/models/deployment.rb +289 -0
  414. data/lib/litellm_client/models/description.rb +104 -0
  415. data/lib/litellm_client/models/destructivehint.rb +104 -0
  416. data/lib/litellm_client/models/email_event.rb +40 -0
  417. data/lib/litellm_client/models/email_event_settings.rb +285 -0
  418. data/lib/litellm_client/models/email_event_settings_response.rb +239 -0
  419. data/lib/litellm_client/models/email_event_settings_update_request.rb +239 -0
  420. data/lib/litellm_client/models/endtime.rb +104 -0
  421. data/lib/litellm_client/models/error_response.rb +239 -0
  422. data/lib/litellm_client/models/expires.rb +104 -0
  423. data/lib/litellm_client/models/function_call.rb +246 -0
  424. data/lib/litellm_client/models/generate_key_request.rb +527 -0
  425. data/lib/litellm_client/models/generate_key_response.rb +613 -0
  426. data/lib/litellm_client/models/get_team_member_permissions_response.rb +278 -0
  427. data/lib/litellm_client/models/guardrail.rb +271 -0
  428. data/lib/litellm_client/models/guardrail_info_lite_llm_params_response.rb +286 -0
  429. data/lib/litellm_client/models/guardrail_info_response.rb +334 -0
  430. data/lib/litellm_client/models/http_validation_error.rb +222 -0
  431. data/lib/litellm_client/models/hyperparameters.rb +241 -0
  432. data/lib/litellm_client/models/id.rb +104 -0
  433. data/lib/litellm_client/models/idempotenthint.rb +104 -0
  434. data/lib/litellm_client/models/input_cost_per_pixel.rb +104 -0
  435. data/lib/litellm_client/models/input_cost_per_second.rb +104 -0
  436. data/lib/litellm_client/models/input_cost_per_token.rb +104 -0
  437. data/lib/litellm_client/models/integrations.rb +104 -0
  438. data/lib/litellm_client/models/internal_user_settings_response.rb +268 -0
  439. data/lib/litellm_client/models/ip_address.rb +237 -0
  440. data/lib/litellm_client/models/key_health_response.rb +264 -0
  441. data/lib/litellm_client/models/key_list_response_object.rb +252 -0
  442. data/lib/litellm_client/models/key_list_response_object_keys_inner.rb +104 -0
  443. data/lib/litellm_client/models/key_metadata.rb +232 -0
  444. data/lib/litellm_client/models/key_metric_with_metadata.rb +247 -0
  445. data/lib/litellm_client/models/key_request.rb +235 -0
  446. data/lib/litellm_client/models/lakera_category_thresholds.rb +229 -0
  447. data/lib/litellm_client/models/learning_rate_multiplier.rb +104 -0
  448. data/lib/litellm_client/models/list_guardrails_response.rb +239 -0
  449. data/lib/litellm_client/models/list_mcp_tools_rest_api_response_object.rb +293 -0
  450. data/lib/litellm_client/models/list_mcp_tools_rest_api_response_object_annotations.rb +104 -0
  451. data/lib/litellm_client/models/list_mcp_tools_rest_api_response_object_mcp_info.rb +104 -0
  452. data/lib/litellm_client/models/lite_llm_budget_table.rb +294 -0
  453. data/lib/litellm_client/models/lite_llm_end_user_table.rb +348 -0
  454. data/lib/litellm_client/models/lite_llm_fine_tuning_job_create.rb +317 -0
  455. data/lib/litellm_client/models/lite_llm_fine_tuning_job_create_hyperparameters.rb +104 -0
  456. data/lib/litellm_client/models/lite_llm_managed_vector_store.rb +290 -0
  457. data/lib/litellm_client/models/lite_llm_managed_vector_store_list_response.rb +296 -0
  458. data/lib/litellm_client/models/lite_llm_model_table.rb +293 -0
  459. data/lib/litellm_client/models/lite_llm_object_permission_base.rb +235 -0
  460. data/lib/litellm_client/models/lite_llm_object_permission_table.rb +262 -0
  461. data/lib/litellm_client/models/lite_llm_organization_membership_table.rb +367 -0
  462. data/lib/litellm_client/models/lite_llm_organization_table_update.rb +296 -0
  463. data/lib/litellm_client/models/lite_llm_organization_table_with_members.rb +477 -0
  464. data/lib/litellm_client/models/lite_llm_params.rb +553 -0
  465. data/lib/litellm_client/models/lite_llm_spend_logs.rb +457 -0
  466. data/lib/litellm_client/models/lite_llm_team_membership.rb +285 -0
  467. data/lib/litellm_client/models/lite_llm_team_table.rb +466 -0
  468. data/lib/litellm_client/models/lite_llm_user_table.rb +438 -0
  469. data/lib/litellm_client/models/lite_llm_user_table_with_key_count.rb +449 -0
  470. data/lib/litellm_client/models/lite_llm_verification_token.rb +546 -0
  471. data/lib/litellm_client/models/lite_llmmcp_server_table.rb +424 -0
  472. data/lib/litellm_client/models/litellm_credential_name.rb +104 -0
  473. data/lib/litellm_client/models/litellm_params.rb +632 -0
  474. data/lib/litellm_client/models/litellm_trace_id.rb +104 -0
  475. data/lib/litellm_client/models/litellm_user_roles.rb +45 -0
  476. data/lib/litellm_client/models/logging_callback_status.rb +275 -0
  477. data/lib/litellm_client/models/logprobs.rb +105 -0
  478. data/lib/litellm_client/models/max_budget.rb +104 -0
  479. data/lib/litellm_client/models/max_file_size_mb.rb +104 -0
  480. data/lib/litellm_client/models/max_retries.rb +104 -0
  481. data/lib/litellm_client/models/mcp_info.rb +240 -0
  482. data/lib/litellm_client/models/member.rb +281 -0
  483. data/lib/litellm_client/models/member1.rb +104 -0
  484. data/lib/litellm_client/models/member2.rb +104 -0
  485. data/lib/litellm_client/models/merge_reasoning_content_in_choices.rb +104 -0
  486. data/lib/litellm_client/models/message.rb +384 -0
  487. data/lib/litellm_client/models/message_audio.rb +104 -0
  488. data/lib/litellm_client/models/message_function_call.rb +104 -0
  489. data/lib/litellm_client/models/messages.rb +105 -0
  490. data/lib/litellm_client/models/metric_with_metadata.rb +248 -0
  491. data/lib/litellm_client/models/mock_response.rb +106 -0
  492. data/lib/litellm_client/models/mode.rb +104 -0
  493. data/lib/litellm_client/models/mode1.rb +105 -0
  494. data/lib/litellm_client/models/model.rb +104 -0
  495. data/lib/litellm_client/models/model_aliases.rb +104 -0
  496. data/lib/litellm_client/models/model_info.rb +104 -0
  497. data/lib/litellm_client/models/model_info_delete.rb +237 -0
  498. data/lib/litellm_client/models/model_response.rb +335 -0
  499. data/lib/litellm_client/models/n_epochs.rb +104 -0
  500. data/lib/litellm_client/models/name.rb +104 -0
  501. data/lib/litellm_client/models/new_customer_request.rb +415 -0
  502. data/lib/litellm_client/models/new_mcp_server_request.rb +357 -0
  503. data/lib/litellm_client/models/new_organization_request.rb +362 -0
  504. data/lib/litellm_client/models/new_organization_response.rb +470 -0
  505. data/lib/litellm_client/models/new_team_request.rb +406 -0
  506. data/lib/litellm_client/models/new_user_request.rb +570 -0
  507. data/lib/litellm_client/models/new_user_response.rb +689 -0
  508. data/lib/litellm_client/models/openworldhint.rb +104 -0
  509. data/lib/litellm_client/models/org_member.rb +281 -0
  510. data/lib/litellm_client/models/organization.rb +104 -0
  511. data/lib/litellm_client/models/organization_add_member_response.rb +293 -0
  512. data/lib/litellm_client/models/organization_member_add_request.rb +273 -0
  513. data/lib/litellm_client/models/organization_member_delete_request.rb +257 -0
  514. data/lib/litellm_client/models/organization_member_update_request.rb +299 -0
  515. data/lib/litellm_client/models/organization_request.rb +239 -0
  516. data/lib/litellm_client/models/output_cost_per_pixel.rb +104 -0
  517. data/lib/litellm_client/models/output_cost_per_second.rb +104 -0
  518. data/lib/litellm_client/models/output_cost_per_token.rb +104 -0
  519. data/lib/litellm_client/models/paginated_audit_log_response.rb +348 -0
  520. data/lib/litellm_client/models/pass_through_endpoint_response.rb +239 -0
  521. data/lib/litellm_client/models/pass_through_generic_endpoint.rb +294 -0
  522. data/lib/litellm_client/models/patch_guardrail_litellm_params.rb +233 -0
  523. data/lib/litellm_client/models/patch_guardrail_request.rb +243 -0
  524. data/lib/litellm_client/models/pii_action.rb +40 -0
  525. data/lib/litellm_client/models/pii_entity_type.rb +77 -0
  526. data/lib/litellm_client/models/provider_budget_response.rb +223 -0
  527. data/lib/litellm_client/models/provider_budget_response_object.rb +256 -0
  528. data/lib/litellm_client/models/provider_specific_fields.rb +104 -0
  529. data/lib/litellm_client/models/raw_request_typed_dict.rb +255 -0
  530. data/lib/litellm_client/models/readonlyhint.rb +104 -0
  531. data/lib/litellm_client/models/reasoning_content.rb +104 -0
  532. data/lib/litellm_client/models/regenerate_key_request.rb +537 -0
  533. data/lib/litellm_client/models/region_name.rb +104 -0
  534. data/lib/litellm_client/models/resources.rb +104 -0
  535. data/lib/litellm_client/models/response.rb +105 -0
  536. data/lib/litellm_client/models/rpm.rb +104 -0
  537. data/lib/litellm_client/models/scim_group.rb +309 -0
  538. data/lib/litellm_client/models/scim_list_response.rb +294 -0
  539. data/lib/litellm_client/models/scim_member.rb +247 -0
  540. data/lib/litellm_client/models/scim_patch_op.rb +250 -0
  541. data/lib/litellm_client/models/scim_patch_operation.rb +257 -0
  542. data/lib/litellm_client/models/scim_user.rb +368 -0
  543. data/lib/litellm_client/models/scim_user_email.rb +257 -0
  544. data/lib/litellm_client/models/scim_user_group.rb +257 -0
  545. data/lib/litellm_client/models/scim_user_name.rb +303 -0
  546. data/lib/litellm_client/models/seed.rb +104 -0
  547. data/lib/litellm_client/models/service.rb +104 -0
  548. data/lib/litellm_client/models/spend_analytics_paginated_response.rb +248 -0
  549. data/lib/litellm_client/models/spend_calculate_request.rb +245 -0
  550. data/lib/litellm_client/models/spend_metrics.rb +310 -0
  551. data/lib/litellm_client/models/sso_config.rb +332 -0
  552. data/lib/litellm_client/models/sso_settings_response.rb +268 -0
  553. data/lib/litellm_client/models/starttime.rb +104 -0
  554. data/lib/litellm_client/models/stream_timeout.rb +105 -0
  555. data/lib/litellm_client/models/suffix.rb +104 -0
  556. data/lib/litellm_client/models/system_fingerprint.rb +104 -0
  557. data/lib/litellm_client/models/tag_config.rb +333 -0
  558. data/lib/litellm_client/models/tag_delete_request.rb +237 -0
  559. data/lib/litellm_client/models/tag_info_request.rb +239 -0
  560. data/lib/litellm_client/models/tag_new_request.rb +271 -0
  561. data/lib/litellm_client/models/tag_update_request.rb +271 -0
  562. data/lib/litellm_client/models/team_add_member_response.rb +522 -0
  563. data/lib/litellm_client/models/team_id.rb +104 -0
  564. data/lib/litellm_client/models/team_list_response.rb +344 -0
  565. data/lib/litellm_client/models/team_member_add_request.rb +273 -0
  566. data/lib/litellm_client/models/team_member_delete_request.rb +257 -0
  567. data/lib/litellm_client/models/team_member_update_request.rb +311 -0
  568. data/lib/litellm_client/models/team_member_update_response.rb +283 -0
  569. data/lib/litellm_client/models/team_model_add_request.rb +266 -0
  570. data/lib/litellm_client/models/team_model_delete_request.rb +266 -0
  571. data/lib/litellm_client/models/team_public_model_name.rb +104 -0
  572. data/lib/litellm_client/models/thinking_blocks.rb +104 -0
  573. data/lib/litellm_client/models/thinking_blocks_any_of_inner.rb +104 -0
  574. data/lib/litellm_client/models/tier.rb +104 -0
  575. data/lib/litellm_client/models/timeout.rb +105 -0
  576. data/lib/litellm_client/models/title.rb +104 -0
  577. data/lib/litellm_client/models/token_count_request.rb +259 -0
  578. data/lib/litellm_client/models/token_count_response.rb +315 -0
  579. data/lib/litellm_client/models/tool_annotations.rb +257 -0
  580. data/lib/litellm_client/models/tool_calls.rb +104 -0
  581. data/lib/litellm_client/models/top_logprob.rb +272 -0
  582. data/lib/litellm_client/models/tpm.rb +104 -0
  583. data/lib/litellm_client/models/transform_request_body.rb +287 -0
  584. data/lib/litellm_client/models/ui_discovery_endpoints.rb +249 -0
  585. data/lib/litellm_client/models/update_customer_request.rb +333 -0
  586. data/lib/litellm_client/models/update_deployment.rb +241 -0
  587. data/lib/litellm_client/models/update_guardrail_request.rb +237 -0
  588. data/lib/litellm_client/models/update_key_request.rb +543 -0
  589. data/lib/litellm_client/models/update_lite_llm_params.rb +535 -0
  590. data/lib/litellm_client/models/update_mcp_server_request.rb +373 -0
  591. data/lib/litellm_client/models/update_team_member_permissions_request.rb +266 -0
  592. data/lib/litellm_client/models/update_team_request.rb +378 -0
  593. data/lib/litellm_client/models/update_user_request.rb +515 -0
  594. data/lib/litellm_client/models/updated_at.rb +104 -0
  595. data/lib/litellm_client/models/updated_by.rb +104 -0
  596. data/lib/litellm_client/models/use_in_pass_through.rb +104 -0
  597. data/lib/litellm_client/models/use_litellm_proxy.rb +104 -0
  598. data/lib/litellm_client/models/user_api_key_auth.rb +861 -0
  599. data/lib/litellm_client/models/user_list_response.rb +344 -0
  600. data/lib/litellm_client/models/validation_error.rb +291 -0
  601. data/lib/litellm_client/models/validation_error_loc_inner.rb +104 -0
  602. data/lib/litellm_client/models/validation_file.rb +104 -0
  603. data/lib/litellm_client/models/vector_store_delete_request.rb +237 -0
  604. data/lib/litellm_client/models/vector_store_metadata.rb +104 -0
  605. data/lib/litellm_client/models/vertex_credentials.rb +105 -0
  606. data/lib/litellm_client/models/vertex_location.rb +104 -0
  607. data/lib/litellm_client/models/vertex_project.rb +104 -0
  608. data/lib/litellm_client/models/watsonx_region_name.rb +104 -0
  609. data/lib/litellm_client/version.rb +15 -0
  610. data/lib/litellm_client.rb +339 -0
  611. data/litellm_client.gemspec +39 -0
  612. data/spec/api/anthropic_pass_through_api_spec.rb +95 -0
  613. data/spec/api/assembly_ai_pass_through_api_spec.rb +90 -0
  614. data/spec/api/assembly_aieu_pass_through_api_spec.rb +90 -0
  615. data/spec/api/assistants_api_spec.rb +221 -0
  616. data/spec/api/audio_api_spec.rb +81 -0
  617. data/spec/api/audit_logging_api_spec.rb +69 -0
  618. data/spec/api/azure_pass_through_api_spec.rb +95 -0
  619. data/spec/api/batch_api_spec.rb +191 -0
  620. data/spec/api/bedrock_pass_through_api_spec.rb +95 -0
  621. data/spec/api/budget_management_api_spec.rb +106 -0
  622. data/spec/api/budget_spend_tracking_api_spec.rb +158 -0
  623. data/spec/api/caching_api_spec.rb +101 -0
  624. data/spec/api/chat_completions_api_spec.rb +83 -0
  625. data/spec/api/cohere_pass_through_api_spec.rb +95 -0
  626. data/spec/api/completions_api_spec.rb +83 -0
  627. data/spec/api/credential_management_api_spec.rb +109 -0
  628. data/spec/api/customer_management_api_spec.rb +118 -0
  629. data/spec/api/default_api_spec.rb +168 -0
  630. data/spec/api/email_management_api_spec.rb +69 -0
  631. data/spec/api/embeddings_api_spec.rb +83 -0
  632. data/spec/api/files_api_spec.rb +242 -0
  633. data/spec/api/fine_tuning_api_spec.rb +139 -0
  634. data/spec/api/google_ai_studio_pass_through_api_spec.rb +95 -0
  635. data/spec/api/guardrails_api_spec.rb +165 -0
  636. data/spec/api/health_api_spec.rb +170 -0
  637. data/spec/api/images_api_spec.rb +110 -0
  638. data/spec/api/internal_user_management_api_spec.rb +121 -0
  639. data/spec/api/key_management_api_spec.rb +173 -0
  640. data/spec/api/langfuse_pass_through_api_spec.rb +95 -0
  641. data/spec/api/llm_utils_api_spec.rb +69 -0
  642. data/spec/api/mcp_api_spec.rb +120 -0
  643. data/spec/api/mistral_pass_through_api_spec.rb +95 -0
  644. data/spec/api/model_management_api_spec.rb +150 -0
  645. data/spec/api/moderations_api_spec.rb +57 -0
  646. data/spec/api/open_ai_pass_through_api_spec.rb +95 -0
  647. data/spec/api/organization_management_api_spec.rb +142 -0
  648. data/spec/api/pass_through_api_spec.rb +805 -0
  649. data/spec/api/rerank_api_spec.rb +65 -0
  650. data/spec/api/responses_api_spec.rb +129 -0
  651. data/spec/api/scimv2_api_spec.rb +187 -0
  652. data/spec/api/sso_settings_api_spec.rb +104 -0
  653. data/spec/api/tag_management_api_spec.rb +112 -0
  654. data/spec/api/team_management_api_spec.rb +283 -0
  655. data/spec/api/vector_store_management_api_spec.rb +72 -0
  656. data/spec/api/vertex_ai_pass_through_api_spec.rb +155 -0
  657. data/spec/api/vllm_pass_through_api_spec.rb +95 -0
  658. data/spec/models/add_team_callback_spec.rb +52 -0
  659. data/spec/models/annotations_spec.rb +21 -0
  660. data/spec/models/api_base_spec.rb +21 -0
  661. data/spec/models/api_key_spec.rb +21 -0
  662. data/spec/models/api_version_spec.rb +21 -0
  663. data/spec/models/apply_guardrail_request_spec.rb +54 -0
  664. data/spec/models/apply_guardrail_response_spec.rb +36 -0
  665. data/spec/models/audit_log_response_spec.rb +84 -0
  666. data/spec/models/aws_access_key_id_spec.rb +21 -0
  667. data/spec/models/aws_region_name_spec.rb +21 -0
  668. data/spec/models/aws_secret_access_key_spec.rb +21 -0
  669. data/spec/models/base_model_spec.rb +21 -0
  670. data/spec/models/batch_size_spec.rb +21 -0
  671. data/spec/models/block_key_request_spec.rb +36 -0
  672. data/spec/models/block_team_request_spec.rb +36 -0
  673. data/spec/models/block_users_spec.rb +36 -0
  674. data/spec/models/body_test_model_connection_health_test_connection_post_spec.rb +46 -0
  675. data/spec/models/breakdown_metrics_spec.rb +54 -0
  676. data/spec/models/budget_config_spec.rb +54 -0
  677. data/spec/models/budget_delete_request_spec.rb +36 -0
  678. data/spec/models/budget_duration_spec.rb +21 -0
  679. data/spec/models/budget_new_request_spec.rb +84 -0
  680. data/spec/models/budget_request_spec.rb +36 -0
  681. data/spec/models/bytes_spec.rb +21 -0
  682. data/spec/models/cache_control_spec.rb +21 -0
  683. data/spec/models/cache_ping_response_spec.rb +66 -0
  684. data/spec/models/call_types_spec.rb +30 -0
  685. data/spec/models/chat_completion_annotation_spec.rb +46 -0
  686. data/spec/models/chat_completion_annotation_url_citation_spec.rb +54 -0
  687. data/spec/models/chat_completion_audio_response_spec.rb +54 -0
  688. data/spec/models/chat_completion_cached_content_spec.rb +40 -0
  689. data/spec/models/chat_completion_redacted_thinking_block_spec.rb +52 -0
  690. data/spec/models/chat_completion_thinking_block_spec.rb +58 -0
  691. data/spec/models/chat_completion_token_logprob_spec.rb +54 -0
  692. data/spec/models/choice_logprobs_spec.rb +36 -0
  693. data/spec/models/choices1_inner_spec.rb +21 -0
  694. data/spec/models/choices_spec.rb +60 -0
  695. data/spec/models/configurable_clientside_auth_params_any_of_inner_spec.rb +21 -0
  696. data/spec/models/configurable_clientside_auth_params_spec.rb +21 -0
  697. data/spec/models/configurable_clientside_params_custom_auth_spec.rb +36 -0
  698. data/spec/models/content1_spec.rb +21 -0
  699. data/spec/models/content_spec.rb +21 -0
  700. data/spec/models/create_credential_item_spec.rb +54 -0
  701. data/spec/models/create_guardrail_request_spec.rb +36 -0
  702. data/spec/models/created_at_spec.rb +21 -0
  703. data/spec/models/created_by_spec.rb +21 -0
  704. data/spec/models/credential_item_spec.rb +48 -0
  705. data/spec/models/custom_llm_provider1_spec.rb +21 -0
  706. data/spec/models/custom_llm_provider_spec.rb +21 -0
  707. data/spec/models/daily_spend_data_spec.rb +48 -0
  708. data/spec/models/daily_spend_metadata_spec.rb +102 -0
  709. data/spec/models/default_internal_user_params_spec.rb +58 -0
  710. data/spec/models/default_team_settings_response_spec.rb +42 -0
  711. data/spec/models/default_team_sso_params_spec.rb +60 -0
  712. data/spec/models/delete_customer_request_spec.rb +36 -0
  713. data/spec/models/delete_organization_request_spec.rb +36 -0
  714. data/spec/models/delete_team_request_spec.rb +36 -0
  715. data/spec/models/delete_user_request_spec.rb +36 -0
  716. data/spec/models/deployment_spec.rb +48 -0
  717. data/spec/models/description_spec.rb +21 -0
  718. data/spec/models/destructivehint_spec.rb +21 -0
  719. data/spec/models/email_event_settings_response_spec.rb +36 -0
  720. data/spec/models/email_event_settings_spec.rb +42 -0
  721. data/spec/models/email_event_settings_update_request_spec.rb +36 -0
  722. data/spec/models/email_event_spec.rb +30 -0
  723. data/spec/models/endtime_spec.rb +21 -0
  724. data/spec/models/error_response_spec.rb +36 -0
  725. data/spec/models/expires_spec.rb +21 -0
  726. data/spec/models/function_call_spec.rb +42 -0
  727. data/spec/models/generate_key_request_spec.rb +204 -0
  728. data/spec/models/generate_key_response_spec.rb +246 -0
  729. data/spec/models/get_team_member_permissions_response_spec.rb +48 -0
  730. data/spec/models/guardrail_info_lite_llm_params_response_spec.rb +54 -0
  731. data/spec/models/guardrail_info_response_spec.rb +76 -0
  732. data/spec/models/guardrail_spec.rb +66 -0
  733. data/spec/models/http_validation_error_spec.rb +36 -0
  734. data/spec/models/hyperparameters_spec.rb +48 -0
  735. data/spec/models/id_spec.rb +21 -0
  736. data/spec/models/idempotenthint_spec.rb +21 -0
  737. data/spec/models/input_cost_per_pixel_spec.rb +21 -0
  738. data/spec/models/input_cost_per_second_spec.rb +21 -0
  739. data/spec/models/input_cost_per_token_spec.rb +21 -0
  740. data/spec/models/integrations_spec.rb +21 -0
  741. data/spec/models/internal_user_settings_response_spec.rb +42 -0
  742. data/spec/models/ip_address_spec.rb +36 -0
  743. data/spec/models/key_health_response_spec.rb +46 -0
  744. data/spec/models/key_list_response_object_keys_inner_spec.rb +21 -0
  745. data/spec/models/key_list_response_object_spec.rb +54 -0
  746. data/spec/models/key_metadata_spec.rb +42 -0
  747. data/spec/models/key_metric_with_metadata_spec.rb +42 -0
  748. data/spec/models/key_request_spec.rb +42 -0
  749. data/spec/models/lakera_category_thresholds_spec.rb +42 -0
  750. data/spec/models/learning_rate_multiplier_spec.rb +21 -0
  751. data/spec/models/list_guardrails_response_spec.rb +36 -0
  752. data/spec/models/list_mcp_tools_rest_api_response_object_annotations_spec.rb +21 -0
  753. data/spec/models/list_mcp_tools_rest_api_response_object_mcp_info_spec.rb +21 -0
  754. data/spec/models/list_mcp_tools_rest_api_response_object_spec.rb +60 -0
  755. data/spec/models/lite_llm_budget_table_spec.rb +78 -0
  756. data/spec/models/lite_llm_end_user_table_spec.rb +76 -0
  757. data/spec/models/lite_llm_fine_tuning_job_create_hyperparameters_spec.rb +21 -0
  758. data/spec/models/lite_llm_fine_tuning_job_create_spec.rb +78 -0
  759. data/spec/models/lite_llm_managed_vector_store_list_response_spec.rb +64 -0
  760. data/spec/models/lite_llm_managed_vector_store_spec.rb +78 -0
  761. data/spec/models/lite_llm_model_table_spec.rb +60 -0
  762. data/spec/models/lite_llm_object_permission_base_spec.rb +42 -0
  763. data/spec/models/lite_llm_object_permission_table_spec.rb +48 -0
  764. data/spec/models/lite_llm_organization_membership_table_spec.rb +84 -0
  765. data/spec/models/lite_llm_organization_table_update_spec.rb +78 -0
  766. data/spec/models/lite_llm_organization_table_with_members_spec.rb +126 -0
  767. data/spec/models/lite_llm_params_spec.rb +246 -0
  768. data/spec/models/lite_llm_spend_logs_spec.rb +144 -0
  769. data/spec/models/lite_llm_team_membership_spec.rb +54 -0
  770. data/spec/models/lite_llm_team_table_spec.rb +168 -0
  771. data/spec/models/lite_llm_user_table_spec.rb +150 -0
  772. data/spec/models/lite_llm_user_table_with_key_count_spec.rb +156 -0
  773. data/spec/models/lite_llm_verification_token_spec.rb +222 -0
  774. data/spec/models/lite_llmmcp_server_table_spec.rb +108 -0
  775. data/spec/models/litellm_credential_name_spec.rb +21 -0
  776. data/spec/models/litellm_params_spec.rb +258 -0
  777. data/spec/models/litellm_trace_id_spec.rb +21 -0
  778. data/spec/models/litellm_user_roles_spec.rb +30 -0
  779. data/spec/models/logging_callback_status_spec.rb +52 -0
  780. data/spec/models/logprobs_spec.rb +21 -0
  781. data/spec/models/max_budget_spec.rb +21 -0
  782. data/spec/models/max_file_size_mb_spec.rb +21 -0
  783. data/spec/models/max_retries_spec.rb +21 -0
  784. data/spec/models/mcp_info_spec.rb +48 -0
  785. data/spec/models/member1_spec.rb +21 -0
  786. data/spec/models/member2_spec.rb +21 -0
  787. data/spec/models/member_spec.rb +52 -0
  788. data/spec/models/merge_reasoning_content_in_choices_spec.rb +21 -0
  789. data/spec/models/message_audio_spec.rb +21 -0
  790. data/spec/models/message_function_call_spec.rb +21 -0
  791. data/spec/models/message_spec.rb +88 -0
  792. data/spec/models/messages_spec.rb +21 -0
  793. data/spec/models/metric_with_metadata_spec.rb +42 -0
  794. data/spec/models/mock_response_spec.rb +21 -0
  795. data/spec/models/mode1_spec.rb +21 -0
  796. data/spec/models/mode_spec.rb +21 -0
  797. data/spec/models/model_aliases_spec.rb +21 -0
  798. data/spec/models/model_info_delete_spec.rb +36 -0
  799. data/spec/models/model_info_spec.rb +21 -0
  800. data/spec/models/model_response_spec.rb +66 -0
  801. data/spec/models/model_spec.rb +21 -0
  802. data/spec/models/n_epochs_spec.rb +21 -0
  803. data/spec/models/name_spec.rb +21 -0
  804. data/spec/models/new_customer_request_spec.rb +124 -0
  805. data/spec/models/new_mcp_server_request_spec.rb +84 -0
  806. data/spec/models/new_organization_request_spec.rb +108 -0
  807. data/spec/models/new_organization_response_spec.rb +114 -0
  808. data/spec/models/new_team_request_spec.rb +138 -0
  809. data/spec/models/new_user_request_spec.rb +214 -0
  810. data/spec/models/new_user_response_spec.rb +274 -0
  811. data/spec/models/openworldhint_spec.rb +21 -0
  812. data/spec/models/org_member_spec.rb +52 -0
  813. data/spec/models/organization_add_member_response_spec.rb +48 -0
  814. data/spec/models/organization_member_add_request_spec.rb +48 -0
  815. data/spec/models/organization_member_delete_request_spec.rb +48 -0
  816. data/spec/models/organization_member_update_request_spec.rb +60 -0
  817. data/spec/models/organization_request_spec.rb +36 -0
  818. data/spec/models/organization_spec.rb +21 -0
  819. data/spec/models/output_cost_per_pixel_spec.rb +21 -0
  820. data/spec/models/output_cost_per_second_spec.rb +21 -0
  821. data/spec/models/output_cost_per_token_spec.rb +21 -0
  822. data/spec/models/paginated_audit_log_response_spec.rb +60 -0
  823. data/spec/models/pass_through_endpoint_response_spec.rb +36 -0
  824. data/spec/models/pass_through_generic_endpoint_spec.rb +48 -0
  825. data/spec/models/patch_guardrail_litellm_params_spec.rb +42 -0
  826. data/spec/models/patch_guardrail_request_spec.rb +48 -0
  827. data/spec/models/pii_action_spec.rb +30 -0
  828. data/spec/models/pii_entity_type_spec.rb +30 -0
  829. data/spec/models/provider_budget_response_object_spec.rb +54 -0
  830. data/spec/models/provider_budget_response_spec.rb +36 -0
  831. data/spec/models/provider_specific_fields_spec.rb +21 -0
  832. data/spec/models/raw_request_typed_dict_spec.rb +54 -0
  833. data/spec/models/readonlyhint_spec.rb +21 -0
  834. data/spec/models/reasoning_content_spec.rb +21 -0
  835. data/spec/models/regenerate_key_request_spec.rb +210 -0
  836. data/spec/models/region_name_spec.rb +21 -0
  837. data/spec/models/resources_spec.rb +21 -0
  838. data/spec/models/response_spec.rb +21 -0
  839. data/spec/models/rpm_spec.rb +21 -0
  840. data/spec/models/scim_group_spec.rb +66 -0
  841. data/spec/models/scim_list_response_spec.rb +60 -0
  842. data/spec/models/scim_member_spec.rb +42 -0
  843. data/spec/models/scim_patch_op_spec.rb +42 -0
  844. data/spec/models/scim_patch_operation_spec.rb +48 -0
  845. data/spec/models/scim_user_email_spec.rb +48 -0
  846. data/spec/models/scim_user_group_spec.rb +48 -0
  847. data/spec/models/scim_user_name_spec.rb +66 -0
  848. data/spec/models/scim_user_spec.rb +90 -0
  849. data/spec/models/seed_spec.rb +21 -0
  850. data/spec/models/service_spec.rb +21 -0
  851. data/spec/models/spend_analytics_paginated_response_spec.rb +42 -0
  852. data/spec/models/spend_calculate_request_spec.rb +48 -0
  853. data/spec/models/spend_metrics_spec.rb +84 -0
  854. data/spec/models/sso_config_spec.rb +102 -0
  855. data/spec/models/sso_settings_response_spec.rb +42 -0
  856. data/spec/models/starttime_spec.rb +21 -0
  857. data/spec/models/stream_timeout_spec.rb +21 -0
  858. data/spec/models/suffix_spec.rb +21 -0
  859. data/spec/models/system_fingerprint_spec.rb +21 -0
  860. data/spec/models/tag_config_spec.rb +72 -0
  861. data/spec/models/tag_delete_request_spec.rb +36 -0
  862. data/spec/models/tag_info_request_spec.rb +36 -0
  863. data/spec/models/tag_new_request_spec.rb +54 -0
  864. data/spec/models/tag_update_request_spec.rb +54 -0
  865. data/spec/models/team_add_member_response_spec.rb +180 -0
  866. data/spec/models/team_id_spec.rb +21 -0
  867. data/spec/models/team_list_response_spec.rb +60 -0
  868. data/spec/models/team_member_add_request_spec.rb +48 -0
  869. data/spec/models/team_member_delete_request_spec.rb +48 -0
  870. data/spec/models/team_member_update_request_spec.rb +64 -0
  871. data/spec/models/team_member_update_response_spec.rb +54 -0
  872. data/spec/models/team_model_add_request_spec.rb +42 -0
  873. data/spec/models/team_model_delete_request_spec.rb +42 -0
  874. data/spec/models/team_public_model_name_spec.rb +21 -0
  875. data/spec/models/thinking_blocks_any_of_inner_spec.rb +21 -0
  876. data/spec/models/thinking_blocks_spec.rb +21 -0
  877. data/spec/models/tier_spec.rb +21 -0
  878. data/spec/models/timeout_spec.rb +21 -0
  879. data/spec/models/title_spec.rb +21 -0
  880. data/spec/models/token_count_request_spec.rb +48 -0
  881. data/spec/models/token_count_response_spec.rb +54 -0
  882. data/spec/models/tool_annotations_spec.rb +60 -0
  883. data/spec/models/tool_calls_spec.rb +21 -0
  884. data/spec/models/top_logprob_spec.rb +48 -0
  885. data/spec/models/tpm_spec.rb +21 -0
  886. data/spec/models/transform_request_body_spec.rb +42 -0
  887. data/spec/models/ui_discovery_endpoints_spec.rb +42 -0
  888. data/spec/models/update_customer_request_spec.rb +76 -0
  889. data/spec/models/update_deployment_spec.rb +48 -0
  890. data/spec/models/update_guardrail_request_spec.rb +36 -0
  891. data/spec/models/update_key_request_spec.rb +204 -0
  892. data/spec/models/update_lite_llm_params_spec.rb +246 -0
  893. data/spec/models/update_mcp_server_request_spec.rb +84 -0
  894. data/spec/models/update_team_member_permissions_request_spec.rb +42 -0
  895. data/spec/models/update_team_request_spec.rb +114 -0
  896. data/spec/models/update_user_request_spec.rb +184 -0
  897. data/spec/models/updated_at_spec.rb +21 -0
  898. data/spec/models/updated_by_spec.rb +21 -0
  899. data/spec/models/use_in_pass_through_spec.rb +21 -0
  900. data/spec/models/use_litellm_proxy_spec.rb +21 -0
  901. data/spec/models/user_api_key_auth_spec.rb +388 -0
  902. data/spec/models/user_list_response_spec.rb +60 -0
  903. data/spec/models/validation_error_loc_inner_spec.rb +21 -0
  904. data/spec/models/validation_error_spec.rb +48 -0
  905. data/spec/models/validation_file_spec.rb +21 -0
  906. data/spec/models/vector_store_delete_request_spec.rb +36 -0
  907. data/spec/models/vector_store_metadata_spec.rb +21 -0
  908. data/spec/models/vertex_credentials_spec.rb +21 -0
  909. data/spec/models/vertex_location_spec.rb +21 -0
  910. data/spec/models/vertex_project_spec.rb +21 -0
  911. data/spec/models/watsonx_region_name_spec.rb +21 -0
  912. data/spec/spec_helper.rb +111 -0
  913. metadata +1298 -0
@@ -0,0 +1,472 @@
1
+ =begin
2
+ #LiteLLM API
3
+
4
+ #Proxy Server to call 100+ LLMs in the OpenAI format. [**Customize Swagger Docs**](https://docs.litellm.ai/docs/proxy/enterprise#swagger-docs---custom-routes--branding) 👉 [```LiteLLM Admin Panel on /ui```](/ui/). Create, Edit Keys with SSO 💸 [```LiteLLM Model Cost Map```](https://models.litellm.ai/).
5
+
6
+ The version of the OpenAPI document: 1.72.6
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.13.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module LiteLLMClient
16
+ class InternalUserManagementApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Delete User
23
+ # delete user and associated user keys ``` curl --location 'http://0.0.0.0:4000/user/delete' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data-raw '{ \"user_ids\": [\"45e3e396-ee08-4a61-a88e-16b3ce7e0849\"] }' ``` Parameters: - user_ids: List[str] - The list of user id's to be deleted.
24
+ # @param delete_user_request [DeleteUserRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [String] :litellm_changed_by The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability
27
+ # @return [Object]
28
+ def delete_user_user_delete_post(delete_user_request, opts = {})
29
+ data, _status_code, _headers = delete_user_user_delete_post_with_http_info(delete_user_request, opts)
30
+ data
31
+ end
32
+
33
+ # Delete User
34
+ # delete user and associated user keys ``` curl --location 'http://0.0.0.0:4000/user/delete' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data-raw '{ \"user_ids\": [\"45e3e396-ee08-4a61-a88e-16b3ce7e0849\"] }' ``` Parameters: - user_ids: List[str] - The list of user id's to be deleted.
35
+ # @param delete_user_request [DeleteUserRequest]
36
+ # @param [Hash] opts the optional parameters
37
+ # @option opts [String] :litellm_changed_by The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability
38
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
39
+ def delete_user_user_delete_post_with_http_info(delete_user_request, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: InternalUserManagementApi.delete_user_user_delete_post ...'
42
+ end
43
+ # verify the required parameter 'delete_user_request' is set
44
+ if @api_client.config.client_side_validation && delete_user_request.nil?
45
+ fail ArgumentError, "Missing the required parameter 'delete_user_request' when calling InternalUserManagementApi.delete_user_user_delete_post"
46
+ end
47
+ # resource path
48
+ local_var_path = '/user/delete'
49
+
50
+ # query parameters
51
+ query_params = opts[:query_params] || {}
52
+
53
+ # header parameters
54
+ header_params = opts[:header_params] || {}
55
+ # HTTP header 'Accept' (if needed)
56
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
57
+ # HTTP header 'Content-Type'
58
+ content_type = @api_client.select_header_content_type(['application/json'])
59
+ if !content_type.nil?
60
+ header_params['Content-Type'] = content_type
61
+ end
62
+ header_params[:'litellm-changed-by'] = opts[:'litellm_changed_by'] if !opts[:'litellm_changed_by'].nil?
63
+
64
+ # form parameters
65
+ form_params = opts[:form_params] || {}
66
+
67
+ # http body (model)
68
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(delete_user_request)
69
+
70
+ # return_type
71
+ return_type = opts[:debug_return_type] || 'Object'
72
+
73
+ # auth_names
74
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
75
+
76
+ new_options = opts.merge(
77
+ :operation => :"InternalUserManagementApi.delete_user_user_delete_post",
78
+ :header_params => header_params,
79
+ :query_params => query_params,
80
+ :form_params => form_params,
81
+ :body => post_body,
82
+ :auth_names => auth_names,
83
+ :return_type => return_type
84
+ )
85
+
86
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
87
+ if @api_client.config.debugging
88
+ @api_client.config.logger.debug "API called: InternalUserManagementApi#delete_user_user_delete_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
89
+ end
90
+ return data, status_code, headers
91
+ end
92
+
93
+ # Get User Daily Activity
94
+ # [BETA] This is a beta endpoint. It will change. Meant to optimize querying spend data for analytics for a user. Returns: (by date) - spend - prompt_tokens - completion_tokens - cache_read_input_tokens - cache_creation_input_tokens - total_tokens - api_requests - breakdown by model, api_key, provider
95
+ # @param [Hash] opts the optional parameters
96
+ # @option opts [String] :start_date Start date in YYYY-MM-DD format
97
+ # @option opts [String] :end_date End date in YYYY-MM-DD format
98
+ # @option opts [String] :model Filter by specific model
99
+ # @option opts [String] :api_key Filter by specific API key
100
+ # @option opts [Integer] :page Page number for pagination (default to 1)
101
+ # @option opts [Integer] :page_size Items per page (default to 50)
102
+ # @return [SpendAnalyticsPaginatedResponse]
103
+ def get_user_daily_activity_user_daily_activity_get(opts = {})
104
+ data, _status_code, _headers = get_user_daily_activity_user_daily_activity_get_with_http_info(opts)
105
+ data
106
+ end
107
+
108
+ # Get User Daily Activity
109
+ # [BETA] This is a beta endpoint. It will change. Meant to optimize querying spend data for analytics for a user. Returns: (by date) - spend - prompt_tokens - completion_tokens - cache_read_input_tokens - cache_creation_input_tokens - total_tokens - api_requests - breakdown by model, api_key, provider
110
+ # @param [Hash] opts the optional parameters
111
+ # @option opts [String] :start_date Start date in YYYY-MM-DD format
112
+ # @option opts [String] :end_date End date in YYYY-MM-DD format
113
+ # @option opts [String] :model Filter by specific model
114
+ # @option opts [String] :api_key Filter by specific API key
115
+ # @option opts [Integer] :page Page number for pagination (default to 1)
116
+ # @option opts [Integer] :page_size Items per page (default to 50)
117
+ # @return [Array<(SpendAnalyticsPaginatedResponse, Integer, Hash)>] SpendAnalyticsPaginatedResponse data, response status code and response headers
118
+ def get_user_daily_activity_user_daily_activity_get_with_http_info(opts = {})
119
+ if @api_client.config.debugging
120
+ @api_client.config.logger.debug 'Calling API: InternalUserManagementApi.get_user_daily_activity_user_daily_activity_get ...'
121
+ end
122
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
123
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling InternalUserManagementApi.get_user_daily_activity_user_daily_activity_get, must be greater than or equal to 1.'
124
+ end
125
+
126
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 1000
127
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling InternalUserManagementApi.get_user_daily_activity_user_daily_activity_get, must be smaller than or equal to 1000.'
128
+ end
129
+
130
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
131
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling InternalUserManagementApi.get_user_daily_activity_user_daily_activity_get, must be greater than or equal to 1.'
132
+ end
133
+
134
+ # resource path
135
+ local_var_path = '/user/daily/activity'
136
+
137
+ # query parameters
138
+ query_params = opts[:query_params] || {}
139
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
140
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
141
+ query_params[:'model'] = opts[:'model'] if !opts[:'model'].nil?
142
+ query_params[:'api_key'] = opts[:'api_key'] if !opts[:'api_key'].nil?
143
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
144
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
145
+
146
+ # header parameters
147
+ header_params = opts[:header_params] || {}
148
+ # HTTP header 'Accept' (if needed)
149
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
150
+
151
+ # form parameters
152
+ form_params = opts[:form_params] || {}
153
+
154
+ # http body (model)
155
+ post_body = opts[:debug_body]
156
+
157
+ # return_type
158
+ return_type = opts[:debug_return_type] || 'SpendAnalyticsPaginatedResponse'
159
+
160
+ # auth_names
161
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
162
+
163
+ new_options = opts.merge(
164
+ :operation => :"InternalUserManagementApi.get_user_daily_activity_user_daily_activity_get",
165
+ :header_params => header_params,
166
+ :query_params => query_params,
167
+ :form_params => form_params,
168
+ :body => post_body,
169
+ :auth_names => auth_names,
170
+ :return_type => return_type
171
+ )
172
+
173
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
174
+ if @api_client.config.debugging
175
+ @api_client.config.logger.debug "API called: InternalUserManagementApi#get_user_daily_activity_user_daily_activity_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
176
+ end
177
+ return data, status_code, headers
178
+ end
179
+
180
+ # Get Users
181
+ # Get a paginated list of users with filtering and sorting options. Parameters: role: Optional[str] Filter users by role. Can be one of: - proxy_admin - proxy_admin_viewer - internal_user - internal_user_viewer user_ids: Optional[str] Get list of users by user_ids. Comma separated list of user_ids. sso_ids: Optional[str] Get list of users by sso_ids. Comma separated list of sso_ids. user_email: Optional[str] Filter users by partial email match team: Optional[str] Filter users by team id. Will match if user has this team in their teams array. page: int The page number to return page_size: int The number of items per page sort_by: Optional[str] Column to sort by (e.g. 'user_id', 'user_email', 'created_at', 'spend') sort_order: Optional[str] Sort order ('asc' or 'desc')
182
+ # @param [Hash] opts the optional parameters
183
+ # @option opts [String] :role Filter users by role
184
+ # @option opts [String] :user_ids Get list of users by user_ids
185
+ # @option opts [String] :sso_user_ids Get list of users by sso_user_id
186
+ # @option opts [String] :user_email Filter users by partial email match
187
+ # @option opts [String] :team Filter users by team id
188
+ # @option opts [Integer] :page Page number (default to 1)
189
+ # @option opts [Integer] :page_size Number of items per page (default to 25)
190
+ # @option opts [String] :sort_by Column to sort by (e.g. &#39;user_id&#39;, &#39;user_email&#39;, &#39;created_at&#39;, &#39;spend&#39;)
191
+ # @option opts [String] :sort_order Sort order (&#39;asc&#39; or &#39;desc&#39;) (default to 'asc')
192
+ # @return [UserListResponse]
193
+ def get_users_user_list_get(opts = {})
194
+ data, _status_code, _headers = get_users_user_list_get_with_http_info(opts)
195
+ data
196
+ end
197
+
198
+ # Get Users
199
+ # Get a paginated list of users with filtering and sorting options. Parameters: role: Optional[str] Filter users by role. Can be one of: - proxy_admin - proxy_admin_viewer - internal_user - internal_user_viewer user_ids: Optional[str] Get list of users by user_ids. Comma separated list of user_ids. sso_ids: Optional[str] Get list of users by sso_ids. Comma separated list of sso_ids. user_email: Optional[str] Filter users by partial email match team: Optional[str] Filter users by team id. Will match if user has this team in their teams array. page: int The page number to return page_size: int The number of items per page sort_by: Optional[str] Column to sort by (e.g. &#39;user_id&#39;, &#39;user_email&#39;, &#39;created_at&#39;, &#39;spend&#39;) sort_order: Optional[str] Sort order (&#39;asc&#39; or &#39;desc&#39;)
200
+ # @param [Hash] opts the optional parameters
201
+ # @option opts [String] :role Filter users by role
202
+ # @option opts [String] :user_ids Get list of users by user_ids
203
+ # @option opts [String] :sso_user_ids Get list of users by sso_user_id
204
+ # @option opts [String] :user_email Filter users by partial email match
205
+ # @option opts [String] :team Filter users by team id
206
+ # @option opts [Integer] :page Page number (default to 1)
207
+ # @option opts [Integer] :page_size Number of items per page (default to 25)
208
+ # @option opts [String] :sort_by Column to sort by (e.g. &#39;user_id&#39;, &#39;user_email&#39;, &#39;created_at&#39;, &#39;spend&#39;)
209
+ # @option opts [String] :sort_order Sort order (&#39;asc&#39; or &#39;desc&#39;) (default to 'asc')
210
+ # @return [Array<(UserListResponse, Integer, Hash)>] UserListResponse data, response status code and response headers
211
+ def get_users_user_list_get_with_http_info(opts = {})
212
+ if @api_client.config.debugging
213
+ @api_client.config.logger.debug 'Calling API: InternalUserManagementApi.get_users_user_list_get ...'
214
+ end
215
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
216
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling InternalUserManagementApi.get_users_user_list_get, must be greater than or equal to 1.'
217
+ end
218
+
219
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
220
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling InternalUserManagementApi.get_users_user_list_get, must be smaller than or equal to 100.'
221
+ end
222
+
223
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
224
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling InternalUserManagementApi.get_users_user_list_get, must be greater than or equal to 1.'
225
+ end
226
+
227
+ # resource path
228
+ local_var_path = '/user/list'
229
+
230
+ # query parameters
231
+ query_params = opts[:query_params] || {}
232
+ query_params[:'role'] = opts[:'role'] if !opts[:'role'].nil?
233
+ query_params[:'user_ids'] = opts[:'user_ids'] if !opts[:'user_ids'].nil?
234
+ query_params[:'sso_user_ids'] = opts[:'sso_user_ids'] if !opts[:'sso_user_ids'].nil?
235
+ query_params[:'user_email'] = opts[:'user_email'] if !opts[:'user_email'].nil?
236
+ query_params[:'team'] = opts[:'team'] if !opts[:'team'].nil?
237
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
238
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
239
+ query_params[:'sort_by'] = opts[:'sort_by'] if !opts[:'sort_by'].nil?
240
+ query_params[:'sort_order'] = opts[:'sort_order'] if !opts[:'sort_order'].nil?
241
+
242
+ # header parameters
243
+ header_params = opts[:header_params] || {}
244
+ # HTTP header 'Accept' (if needed)
245
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
246
+
247
+ # form parameters
248
+ form_params = opts[:form_params] || {}
249
+
250
+ # http body (model)
251
+ post_body = opts[:debug_body]
252
+
253
+ # return_type
254
+ return_type = opts[:debug_return_type] || 'UserListResponse'
255
+
256
+ # auth_names
257
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
258
+
259
+ new_options = opts.merge(
260
+ :operation => :"InternalUserManagementApi.get_users_user_list_get",
261
+ :header_params => header_params,
262
+ :query_params => query_params,
263
+ :form_params => form_params,
264
+ :body => post_body,
265
+ :auth_names => auth_names,
266
+ :return_type => return_type
267
+ )
268
+
269
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
270
+ if @api_client.config.debugging
271
+ @api_client.config.logger.debug "API called: InternalUserManagementApi#get_users_user_list_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
272
+ end
273
+ return data, status_code, headers
274
+ end
275
+
276
+ # New User
277
+ # Use this to create a new INTERNAL user with a budget. Internal Users can access LiteLLM Admin UI to make keys, request access to models. This creates a new user and generates a new api key for the new user. The new api key is returned. Returns user id, budget + new key. Parameters: - user_id: Optional[str] - Specify a user id. If not set, a unique id will be generated. - user_alias: Optional[str] - A descriptive name for you to know who this user id refers to. - teams: Optional[list] - specify a list of team id's a user belongs to. - user_email: Optional[str] - Specify a user email. - send_invite_email: Optional[bool] - Specify if an invite email should be sent. - user_role: Optional[str] - Specify a user role - \"proxy_admin\", \"proxy_admin_viewer\", \"internal_user\", \"internal_user_viewer\", \"team\", \"customer\". Info about each role here: `https://github.com/BerriAI/litellm/litellm/proxy/_types.py#L20` - max_budget: Optional[float] - Specify max budget for a given user. - 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\"), months (\"1mo\"). - models: Optional[list] - Model_name's a user is allowed to call. (if empty, key is allowed to call all models). Set to ['no-default-models'] to block all model access. Restricting user to only team-based model access. - tpm_limit: Optional[int] - Specify tpm limit for a given user (Tokens per minute) - rpm_limit: Optional[int] - Specify rpm limit for a given user (Requests per minute) - auto_create_key: bool - Default=True. Flag used for returning a key as part of the /user/new response - aliases: Optional[dict] - Model aliases for the user - [Docs](https://litellm.vercel.app/docs/proxy/virtual_keys#model-aliases) - config: Optional[dict] - [DEPRECATED PARAM] User-specific config. - 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] - [Not Implemented Yet] Whether the user is blocked. - guardrails: Optional[List[str]] - [Not Implemented Yet] List of active guardrails for the user - permissions: Optional[dict] - [Not Implemented Yet] User-specific permissions, eg. turning off pii masking. - metadata: Optional[dict] - Metadata for user, store information for user. Example metadata = {\"team\": \"core-infra\", \"app\": \"app2\", \"email\": \"ishaan@berri.ai\" } - 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. - soft_budget: Optional[float] - Get alerts when user crosses given budget, doesn't block requests. - model_max_budget: Optional[dict] - Model-specific max budget for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-budgets-to-keys) - model_rpm_limit: Optional[float] - Model-specific rpm limit for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-limits-to-keys) - model_tpm_limit: Optional[float] - Model-specific tpm limit for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-limits-to-keys) - spend: Optional[float] - Amount spent by user. Default is 0. Will be updated by proxy whenever user is used. You can set duration as seconds (\"30s\"), minutes (\"30m\"), hours (\"30h\"), days (\"30d\"), months (\"1mo\"). - team_id: Optional[str] - [DEPRECATED PARAM] The team id of the user. Default is None. - duration: Optional[str] - Duration for the key auto-created on `/user/new`. Default is None. - key_alias: Optional[str] - Alias for the key auto-created on `/user/new`. Default is None. - sso_user_id: Optional[str] - The id of the user in the SSO provider. - object_permission: Optional[LiteLLM_ObjectPermissionBase] - internal user-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission. - organizations: List[str] - List of organization id's the user is a member of Returns: - key: (str) The generated api key for the user - 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. - max_budget: (float|None) Max budget for given user. Usage Example ```shell curl -X POST \"http://localhost:4000/user/new\" -H \"Content-Type: application/json\" -H \"Authorization: Bearer sk-1234\" -d '{ \"username\": \"new_user\", \"email\": \"new_user@example.com\" }' ```
278
+ # @param new_user_request [NewUserRequest]
279
+ # @param [Hash] opts the optional parameters
280
+ # @return [NewUserResponse]
281
+ def new_user_user_new_post(new_user_request, opts = {})
282
+ data, _status_code, _headers = new_user_user_new_post_with_http_info(new_user_request, opts)
283
+ data
284
+ end
285
+
286
+ # New User
287
+ # Use this to create a new INTERNAL user with a budget. Internal Users can access LiteLLM Admin UI to make keys, request access to models. This creates a new user and generates a new api key for the new user. The new api key is returned. Returns user id, budget + new key. Parameters: - user_id: Optional[str] - Specify a user id. If not set, a unique id will be generated. - user_alias: Optional[str] - A descriptive name for you to know who this user id refers to. - teams: Optional[list] - specify a list of team id&#39;s a user belongs to. - user_email: Optional[str] - Specify a user email. - send_invite_email: Optional[bool] - Specify if an invite email should be sent. - user_role: Optional[str] - Specify a user role - \&quot;proxy_admin\&quot;, \&quot;proxy_admin_viewer\&quot;, \&quot;internal_user\&quot;, \&quot;internal_user_viewer\&quot;, \&quot;team\&quot;, \&quot;customer\&quot;. Info about each role here: &#x60;https://github.com/BerriAI/litellm/litellm/proxy/_types.py#L20&#x60; - max_budget: Optional[float] - Specify max budget for a given user. - 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 (\&quot;30s\&quot;), minutes (\&quot;30m\&quot;), hours (\&quot;30h\&quot;), days (\&quot;30d\&quot;), months (\&quot;1mo\&quot;). - models: Optional[list] - Model_name&#39;s a user is allowed to call. (if empty, key is allowed to call all models). Set to [&#39;no-default-models&#39;] to block all model access. Restricting user to only team-based model access. - tpm_limit: Optional[int] - Specify tpm limit for a given user (Tokens per minute) - rpm_limit: Optional[int] - Specify rpm limit for a given user (Requests per minute) - auto_create_key: bool - Default&#x3D;True. Flag used for returning a key as part of the /user/new response - aliases: Optional[dict] - Model aliases for the user - [Docs](https://litellm.vercel.app/docs/proxy/virtual_keys#model-aliases) - config: Optional[dict] - [DEPRECATED PARAM] User-specific config. - allowed_cache_controls: Optional[list] - List of allowed cache control values. Example - [\&quot;no-cache\&quot;, \&quot;no-store\&quot;]. See all values - https://docs.litellm.ai/docs/proxy/caching#turn-on--off-caching-per-request- - blocked: Optional[bool] - [Not Implemented Yet] Whether the user is blocked. - guardrails: Optional[List[str]] - [Not Implemented Yet] List of active guardrails for the user - permissions: Optional[dict] - [Not Implemented Yet] User-specific permissions, eg. turning off pii masking. - metadata: Optional[dict] - Metadata for user, store information for user. Example metadata &#x3D; {\&quot;team\&quot;: \&quot;core-infra\&quot;, \&quot;app\&quot;: \&quot;app2\&quot;, \&quot;email\&quot;: \&quot;ishaan@berri.ai\&quot; } - max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user&#39;s parallel requests &gt; x. - soft_budget: Optional[float] - Get alerts when user crosses given budget, doesn&#39;t block requests. - model_max_budget: Optional[dict] - Model-specific max budget for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-budgets-to-keys) - model_rpm_limit: Optional[float] - Model-specific rpm limit for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-limits-to-keys) - model_tpm_limit: Optional[float] - Model-specific tpm limit for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-limits-to-keys) - spend: Optional[float] - Amount spent by user. Default is 0. Will be updated by proxy whenever user is used. You can set duration as seconds (\&quot;30s\&quot;), minutes (\&quot;30m\&quot;), hours (\&quot;30h\&quot;), days (\&quot;30d\&quot;), months (\&quot;1mo\&quot;). - team_id: Optional[str] - [DEPRECATED PARAM] The team id of the user. Default is None. - duration: Optional[str] - Duration for the key auto-created on &#x60;/user/new&#x60;. Default is None. - key_alias: Optional[str] - Alias for the key auto-created on &#x60;/user/new&#x60;. Default is None. - sso_user_id: Optional[str] - The id of the user in the SSO provider. - object_permission: Optional[LiteLLM_ObjectPermissionBase] - internal user-specific object permission. Example - {\&quot;vector_stores\&quot;: [\&quot;vector_store_1\&quot;, \&quot;vector_store_2\&quot;]}. IF null or {} then no object permission. - organizations: List[str] - List of organization id&#39;s the user is a member of Returns: - key: (str) The generated api key for the user - 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. - max_budget: (float|None) Max budget for given user. Usage Example &#x60;&#x60;&#x60;shell curl -X POST \&quot;http://localhost:4000/user/new\&quot; -H \&quot;Content-Type: application/json\&quot; -H \&quot;Authorization: Bearer sk-1234\&quot; -d &#39;{ \&quot;username\&quot;: \&quot;new_user\&quot;, \&quot;email\&quot;: \&quot;new_user@example.com\&quot; }&#39; &#x60;&#x60;&#x60;
288
+ # @param new_user_request [NewUserRequest]
289
+ # @param [Hash] opts the optional parameters
290
+ # @return [Array<(NewUserResponse, Integer, Hash)>] NewUserResponse data, response status code and response headers
291
+ def new_user_user_new_post_with_http_info(new_user_request, opts = {})
292
+ if @api_client.config.debugging
293
+ @api_client.config.logger.debug 'Calling API: InternalUserManagementApi.new_user_user_new_post ...'
294
+ end
295
+ # verify the required parameter 'new_user_request' is set
296
+ if @api_client.config.client_side_validation && new_user_request.nil?
297
+ fail ArgumentError, "Missing the required parameter 'new_user_request' when calling InternalUserManagementApi.new_user_user_new_post"
298
+ end
299
+ # resource path
300
+ local_var_path = '/user/new'
301
+
302
+ # query parameters
303
+ query_params = opts[:query_params] || {}
304
+
305
+ # header parameters
306
+ header_params = opts[:header_params] || {}
307
+ # HTTP header 'Accept' (if needed)
308
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
309
+ # HTTP header 'Content-Type'
310
+ content_type = @api_client.select_header_content_type(['application/json'])
311
+ if !content_type.nil?
312
+ header_params['Content-Type'] = content_type
313
+ end
314
+
315
+ # form parameters
316
+ form_params = opts[:form_params] || {}
317
+
318
+ # http body (model)
319
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(new_user_request)
320
+
321
+ # return_type
322
+ return_type = opts[:debug_return_type] || 'NewUserResponse'
323
+
324
+ # auth_names
325
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
326
+
327
+ new_options = opts.merge(
328
+ :operation => :"InternalUserManagementApi.new_user_user_new_post",
329
+ :header_params => header_params,
330
+ :query_params => query_params,
331
+ :form_params => form_params,
332
+ :body => post_body,
333
+ :auth_names => auth_names,
334
+ :return_type => return_type
335
+ )
336
+
337
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
338
+ if @api_client.config.debugging
339
+ @api_client.config.logger.debug "API called: InternalUserManagementApi#new_user_user_new_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
340
+ end
341
+ return data, status_code, headers
342
+ end
343
+
344
+ # User Info
345
+ # [10/07/2024] Note: To get all users (+pagination), use `/user/list` endpoint. Use this to get user information. (user row + all user key info) Example request ``` curl -X GET 'http://localhost:4000/user/info?user_id=krrish7%40berri.ai' --header 'Authorization: Bearer sk-1234' ```
346
+ # @param [Hash] opts the optional parameters
347
+ # @option opts [String] :user_id User ID in the request parameters
348
+ # @return [Object]
349
+ def user_info_user_info_get(opts = {})
350
+ data, _status_code, _headers = user_info_user_info_get_with_http_info(opts)
351
+ data
352
+ end
353
+
354
+ # User Info
355
+ # [10/07/2024] Note: To get all users (+pagination), use &#x60;/user/list&#x60; endpoint. Use this to get user information. (user row + all user key info) Example request &#x60;&#x60;&#x60; curl -X GET &#39;http://localhost:4000/user/info?user_id&#x3D;krrish7%40berri.ai&#39; --header &#39;Authorization: Bearer sk-1234&#39; &#x60;&#x60;&#x60;
356
+ # @param [Hash] opts the optional parameters
357
+ # @option opts [String] :user_id User ID in the request parameters
358
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
359
+ def user_info_user_info_get_with_http_info(opts = {})
360
+ if @api_client.config.debugging
361
+ @api_client.config.logger.debug 'Calling API: InternalUserManagementApi.user_info_user_info_get ...'
362
+ end
363
+ # resource path
364
+ local_var_path = '/user/info'
365
+
366
+ # query parameters
367
+ query_params = opts[:query_params] || {}
368
+ query_params[:'user_id'] = opts[:'user_id'] if !opts[:'user_id'].nil?
369
+
370
+ # header parameters
371
+ header_params = opts[:header_params] || {}
372
+ # HTTP header 'Accept' (if needed)
373
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
374
+
375
+ # form parameters
376
+ form_params = opts[:form_params] || {}
377
+
378
+ # http body (model)
379
+ post_body = opts[:debug_body]
380
+
381
+ # return_type
382
+ return_type = opts[:debug_return_type] || 'Object'
383
+
384
+ # auth_names
385
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
386
+
387
+ new_options = opts.merge(
388
+ :operation => :"InternalUserManagementApi.user_info_user_info_get",
389
+ :header_params => header_params,
390
+ :query_params => query_params,
391
+ :form_params => form_params,
392
+ :body => post_body,
393
+ :auth_names => auth_names,
394
+ :return_type => return_type
395
+ )
396
+
397
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
398
+ if @api_client.config.debugging
399
+ @api_client.config.logger.debug "API called: InternalUserManagementApi#user_info_user_info_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
400
+ end
401
+ return data, status_code, headers
402
+ end
403
+
404
+ # User Update
405
+ # Example curl ``` curl --location 'http://0.0.0.0:4000/user/update' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"user_id\": \"test-litellm-user-4\", \"user_role\": \"proxy_admin_viewer\" }' ``` Parameters: - user_id: Optional[str] - Specify a user id. If not set, a unique id will be generated. - user_email: Optional[str] - Specify a user email. - password: Optional[str] - Specify a user password. - user_alias: Optional[str] - A descriptive name for you to know who this user id refers to. - teams: Optional[list] - specify a list of team id's a user belongs to. - send_invite_email: Optional[bool] - Specify if an invite email should be sent. - user_role: Optional[str] - Specify a user role - \"proxy_admin\", \"proxy_admin_viewer\", \"internal_user\", \"internal_user_viewer\", \"team\", \"customer\". Info about each role here: `https://github.com/BerriAI/litellm/litellm/proxy/_types.py#L20` - max_budget: Optional[float] - Specify max budget for a given user. - 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\"), months (\"1mo\"). - models: Optional[list] - Model_name's a user is allowed to call. (if empty, key is allowed to call all models) - tpm_limit: Optional[int] - Specify tpm limit for a given user (Tokens per minute) - rpm_limit: Optional[int] - Specify rpm limit for a given user (Requests per minute) - auto_create_key: bool - Default=True. Flag used for returning a key as part of the /user/new response - aliases: Optional[dict] - Model aliases for the user - [Docs](https://litellm.vercel.app/docs/proxy/virtual_keys#model-aliases) - config: Optional[dict] - [DEPRECATED PARAM] User-specific config. - 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] - [Not Implemented Yet] Whether the user is blocked. - guardrails: Optional[List[str]] - [Not Implemented Yet] List of active guardrails for the user - permissions: Optional[dict] - [Not Implemented Yet] User-specific permissions, eg. turning off pii masking. - metadata: Optional[dict] - Metadata for user, store information for user. Example metadata = {\"team\": \"core-infra\", \"app\": \"app2\", \"email\": \"ishaan@berri.ai\" } - 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. - soft_budget: Optional[float] - Get alerts when user crosses given budget, doesn't block requests. - model_max_budget: Optional[dict] - Model-specific max budget for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-budgets-to-keys) - model_rpm_limit: Optional[float] - Model-specific rpm limit for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-limits-to-keys) - model_tpm_limit: Optional[float] - Model-specific tpm limit for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-limits-to-keys) - spend: Optional[float] - Amount spent by user. Default is 0. Will be updated by proxy whenever user is used. You can set duration as seconds (\"30s\"), minutes (\"30m\"), hours (\"30h\"), days (\"30d\"), months (\"1mo\"). - team_id: Optional[str] - [DEPRECATED PARAM] The team id of the user. Default is None. - duration: Optional[str] - [NOT IMPLEMENTED]. - key_alias: Optional[str] - [NOT IMPLEMENTED]. - object_permission: Optional[LiteLLM_ObjectPermissionBase] - internal user-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission.
406
+ # @param update_user_request [UpdateUserRequest]
407
+ # @param [Hash] opts the optional parameters
408
+ # @return [Object]
409
+ def user_update_user_update_post(update_user_request, opts = {})
410
+ data, _status_code, _headers = user_update_user_update_post_with_http_info(update_user_request, opts)
411
+ data
412
+ end
413
+
414
+ # User Update
415
+ # Example curl &#x60;&#x60;&#x60; curl --location &#39;http://0.0.0.0:4000/user/update&#39; --header &#39;Authorization: Bearer sk-1234&#39; --header &#39;Content-Type: application/json&#39; --data &#39;{ \&quot;user_id\&quot;: \&quot;test-litellm-user-4\&quot;, \&quot;user_role\&quot;: \&quot;proxy_admin_viewer\&quot; }&#39; &#x60;&#x60;&#x60; Parameters: - user_id: Optional[str] - Specify a user id. If not set, a unique id will be generated. - user_email: Optional[str] - Specify a user email. - password: Optional[str] - Specify a user password. - user_alias: Optional[str] - A descriptive name for you to know who this user id refers to. - teams: Optional[list] - specify a list of team id&#39;s a user belongs to. - send_invite_email: Optional[bool] - Specify if an invite email should be sent. - user_role: Optional[str] - Specify a user role - \&quot;proxy_admin\&quot;, \&quot;proxy_admin_viewer\&quot;, \&quot;internal_user\&quot;, \&quot;internal_user_viewer\&quot;, \&quot;team\&quot;, \&quot;customer\&quot;. Info about each role here: &#x60;https://github.com/BerriAI/litellm/litellm/proxy/_types.py#L20&#x60; - max_budget: Optional[float] - Specify max budget for a given user. - 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 (\&quot;30s\&quot;), minutes (\&quot;30m\&quot;), hours (\&quot;30h\&quot;), days (\&quot;30d\&quot;), months (\&quot;1mo\&quot;). - models: Optional[list] - Model_name&#39;s a user is allowed to call. (if empty, key is allowed to call all models) - tpm_limit: Optional[int] - Specify tpm limit for a given user (Tokens per minute) - rpm_limit: Optional[int] - Specify rpm limit for a given user (Requests per minute) - auto_create_key: bool - Default&#x3D;True. Flag used for returning a key as part of the /user/new response - aliases: Optional[dict] - Model aliases for the user - [Docs](https://litellm.vercel.app/docs/proxy/virtual_keys#model-aliases) - config: Optional[dict] - [DEPRECATED PARAM] User-specific config. - allowed_cache_controls: Optional[list] - List of allowed cache control values. Example - [\&quot;no-cache\&quot;, \&quot;no-store\&quot;]. See all values - https://docs.litellm.ai/docs/proxy/caching#turn-on--off-caching-per-request- - blocked: Optional[bool] - [Not Implemented Yet] Whether the user is blocked. - guardrails: Optional[List[str]] - [Not Implemented Yet] List of active guardrails for the user - permissions: Optional[dict] - [Not Implemented Yet] User-specific permissions, eg. turning off pii masking. - metadata: Optional[dict] - Metadata for user, store information for user. Example metadata &#x3D; {\&quot;team\&quot;: \&quot;core-infra\&quot;, \&quot;app\&quot;: \&quot;app2\&quot;, \&quot;email\&quot;: \&quot;ishaan@berri.ai\&quot; } - max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user&#39;s parallel requests &gt; x. - soft_budget: Optional[float] - Get alerts when user crosses given budget, doesn&#39;t block requests. - model_max_budget: Optional[dict] - Model-specific max budget for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-budgets-to-keys) - model_rpm_limit: Optional[float] - Model-specific rpm limit for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-limits-to-keys) - model_tpm_limit: Optional[float] - Model-specific tpm limit for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-limits-to-keys) - spend: Optional[float] - Amount spent by user. Default is 0. Will be updated by proxy whenever user is used. You can set duration as seconds (\&quot;30s\&quot;), minutes (\&quot;30m\&quot;), hours (\&quot;30h\&quot;), days (\&quot;30d\&quot;), months (\&quot;1mo\&quot;). - team_id: Optional[str] - [DEPRECATED PARAM] The team id of the user. Default is None. - duration: Optional[str] - [NOT IMPLEMENTED]. - key_alias: Optional[str] - [NOT IMPLEMENTED]. - object_permission: Optional[LiteLLM_ObjectPermissionBase] - internal user-specific object permission. Example - {\&quot;vector_stores\&quot;: [\&quot;vector_store_1\&quot;, \&quot;vector_store_2\&quot;]}. IF null or {} then no object permission.
416
+ # @param update_user_request [UpdateUserRequest]
417
+ # @param [Hash] opts the optional parameters
418
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
419
+ def user_update_user_update_post_with_http_info(update_user_request, opts = {})
420
+ if @api_client.config.debugging
421
+ @api_client.config.logger.debug 'Calling API: InternalUserManagementApi.user_update_user_update_post ...'
422
+ end
423
+ # verify the required parameter 'update_user_request' is set
424
+ if @api_client.config.client_side_validation && update_user_request.nil?
425
+ fail ArgumentError, "Missing the required parameter 'update_user_request' when calling InternalUserManagementApi.user_update_user_update_post"
426
+ end
427
+ # resource path
428
+ local_var_path = '/user/update'
429
+
430
+ # query parameters
431
+ query_params = opts[:query_params] || {}
432
+
433
+ # header parameters
434
+ header_params = opts[:header_params] || {}
435
+ # HTTP header 'Accept' (if needed)
436
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
437
+ # HTTP header 'Content-Type'
438
+ content_type = @api_client.select_header_content_type(['application/json'])
439
+ if !content_type.nil?
440
+ header_params['Content-Type'] = content_type
441
+ end
442
+
443
+ # form parameters
444
+ form_params = opts[:form_params] || {}
445
+
446
+ # http body (model)
447
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_user_request)
448
+
449
+ # return_type
450
+ return_type = opts[:debug_return_type] || 'Object'
451
+
452
+ # auth_names
453
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
454
+
455
+ new_options = opts.merge(
456
+ :operation => :"InternalUserManagementApi.user_update_user_update_post",
457
+ :header_params => header_params,
458
+ :query_params => query_params,
459
+ :form_params => form_params,
460
+ :body => post_body,
461
+ :auth_names => auth_names,
462
+ :return_type => return_type
463
+ )
464
+
465
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
466
+ if @api_client.config.debugging
467
+ @api_client.config.logger.debug "API called: InternalUserManagementApi#user_update_user_update_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
468
+ end
469
+ return data, status_code, headers
470
+ end
471
+ end
472
+ end