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,1339 @@
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 TeamManagementApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Add Team Callbacks
23
+ # Add a success/failure callback to a team Use this if if you want different teams to have different success/failure callbacks Parameters: - callback_name (Literal[\"langfuse\", \"langsmith\", \"gcs\"], required): The name of the callback to add - callback_type (Literal[\"success\", \"failure\", \"success_and_failure\"], required): The type of callback to add. One of: - \"success\": Callback for successful LLM calls - \"failure\": Callback for failed LLM calls - \"success_and_failure\": Callback for both successful and failed LLM calls - callback_vars (StandardCallbackDynamicParams, required): A dictionary of variables to pass to the callback - langfuse_public_key: The public key for the Langfuse callback - langfuse_secret_key: The secret key for the Langfuse callback - langfuse_secret: The secret for the Langfuse callback - langfuse_host: The host for the Langfuse callback - gcs_bucket_name: The name of the GCS bucket - gcs_path_service_account: The path to the GCS service account - langsmith_api_key: The API key for the Langsmith callback - langsmith_project: The project for the Langsmith callback - langsmith_base_url: The base URL for the Langsmith callback Example curl: ``` curl -X POST 'http:/localhost:4000/team/dbe2f686-a686-4896-864a-4c3924458709/callback' -H 'Content-Type: application/json' -H 'Authorization: Bearer sk-1234' -d '{ \"callback_name\": \"langfuse\", \"callback_type\": \"success\", \"callback_vars\": {\"langfuse_public_key\": \"pk-lf-xxxx1\", \"langfuse_secret_key\": \"sk-xxxxx\"} }' ``` This means for the team where team_id = dbe2f686-a686-4896-864a-4c3924458709, all LLM calls will be logged to langfuse using the public key pk-lf-xxxx1 and the secret key sk-xxxxx
24
+ # @param team_id [String]
25
+ # @param add_team_callback [AddTeamCallback]
26
+ # @param [Hash] opts the optional parameters
27
+ # @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
28
+ # @return [Object]
29
+ def add_team_callbacks_team_team_id_callback_post(team_id, add_team_callback, opts = {})
30
+ data, _status_code, _headers = add_team_callbacks_team_team_id_callback_post_with_http_info(team_id, add_team_callback, opts)
31
+ data
32
+ end
33
+
34
+ # Add Team Callbacks
35
+ # Add a success/failure callback to a team Use this if if you want different teams to have different success/failure callbacks Parameters: - callback_name (Literal[\"langfuse\", \"langsmith\", \"gcs\"], required): The name of the callback to add - callback_type (Literal[\"success\", \"failure\", \"success_and_failure\"], required): The type of callback to add. One of: - \"success\": Callback for successful LLM calls - \"failure\": Callback for failed LLM calls - \"success_and_failure\": Callback for both successful and failed LLM calls - callback_vars (StandardCallbackDynamicParams, required): A dictionary of variables to pass to the callback - langfuse_public_key: The public key for the Langfuse callback - langfuse_secret_key: The secret key for the Langfuse callback - langfuse_secret: The secret for the Langfuse callback - langfuse_host: The host for the Langfuse callback - gcs_bucket_name: The name of the GCS bucket - gcs_path_service_account: The path to the GCS service account - langsmith_api_key: The API key for the Langsmith callback - langsmith_project: The project for the Langsmith callback - langsmith_base_url: The base URL for the Langsmith callback Example curl: ``` curl -X POST 'http:/localhost:4000/team/dbe2f686-a686-4896-864a-4c3924458709/callback' -H 'Content-Type: application/json' -H 'Authorization: Bearer sk-1234' -d '{ \"callback_name\": \"langfuse\", \"callback_type\": \"success\", \"callback_vars\": {\"langfuse_public_key\": \"pk-lf-xxxx1\", \"langfuse_secret_key\": \"sk-xxxxx\"} }' ``` This means for the team where team_id = dbe2f686-a686-4896-864a-4c3924458709, all LLM calls will be logged to langfuse using the public key pk-lf-xxxx1 and the secret key sk-xxxxx
36
+ # @param team_id [String]
37
+ # @param add_team_callback [AddTeamCallback]
38
+ # @param [Hash] opts the optional parameters
39
+ # @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
40
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
41
+ def add_team_callbacks_team_team_id_callback_post_with_http_info(team_id, add_team_callback, opts = {})
42
+ if @api_client.config.debugging
43
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.add_team_callbacks_team_team_id_callback_post ...'
44
+ end
45
+ # verify the required parameter 'team_id' is set
46
+ if @api_client.config.client_side_validation && team_id.nil?
47
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling TeamManagementApi.add_team_callbacks_team_team_id_callback_post"
48
+ end
49
+ # verify the required parameter 'add_team_callback' is set
50
+ if @api_client.config.client_side_validation && add_team_callback.nil?
51
+ fail ArgumentError, "Missing the required parameter 'add_team_callback' when calling TeamManagementApi.add_team_callbacks_team_team_id_callback_post"
52
+ end
53
+ # resource path
54
+ local_var_path = '/team/{team_id}/callback'.sub('{' + 'team_id' + '}', CGI.escape(team_id.to_s))
55
+
56
+ # query parameters
57
+ query_params = opts[:query_params] || {}
58
+
59
+ # header parameters
60
+ header_params = opts[:header_params] || {}
61
+ # HTTP header 'Accept' (if needed)
62
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
63
+ # HTTP header 'Content-Type'
64
+ content_type = @api_client.select_header_content_type(['application/json'])
65
+ if !content_type.nil?
66
+ header_params['Content-Type'] = content_type
67
+ end
68
+ header_params[:'litellm-changed-by'] = opts[:'litellm_changed_by'] if !opts[:'litellm_changed_by'].nil?
69
+
70
+ # form parameters
71
+ form_params = opts[:form_params] || {}
72
+
73
+ # http body (model)
74
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(add_team_callback)
75
+
76
+ # return_type
77
+ return_type = opts[:debug_return_type] || 'Object'
78
+
79
+ # auth_names
80
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
81
+
82
+ new_options = opts.merge(
83
+ :operation => :"TeamManagementApi.add_team_callbacks_team_team_id_callback_post",
84
+ :header_params => header_params,
85
+ :query_params => query_params,
86
+ :form_params => form_params,
87
+ :body => post_body,
88
+ :auth_names => auth_names,
89
+ :return_type => return_type
90
+ )
91
+
92
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
93
+ if @api_client.config.debugging
94
+ @api_client.config.logger.debug "API called: TeamManagementApi#add_team_callbacks_team_team_id_callback_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
95
+ end
96
+ return data, status_code, headers
97
+ end
98
+
99
+ # Block Team
100
+ # Blocks all calls from keys with this team id. Parameters: - team_id: str - Required. The unique identifier of the team to block. Example: ``` curl --location 'http://0.0.0.0:4000/team/block' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"team_id\": \"team-1234\" }' ``` Returns: - The updated team record with blocked=True
101
+ # @param block_team_request [BlockTeamRequest]
102
+ # @param [Hash] opts the optional parameters
103
+ # @return [Object]
104
+ def block_team_team_block_post(block_team_request, opts = {})
105
+ data, _status_code, _headers = block_team_team_block_post_with_http_info(block_team_request, opts)
106
+ data
107
+ end
108
+
109
+ # Block Team
110
+ # Blocks all calls from keys with this team id. Parameters: - team_id: str - Required. The unique identifier of the team to block. Example: &#x60;&#x60;&#x60; curl --location &#39;http://0.0.0.0:4000/team/block&#39; --header &#39;Authorization: Bearer sk-1234&#39; --header &#39;Content-Type: application/json&#39; --data &#39;{ \&quot;team_id\&quot;: \&quot;team-1234\&quot; }&#39; &#x60;&#x60;&#x60; Returns: - The updated team record with blocked&#x3D;True
111
+ # @param block_team_request [BlockTeamRequest]
112
+ # @param [Hash] opts the optional parameters
113
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
114
+ def block_team_team_block_post_with_http_info(block_team_request, opts = {})
115
+ if @api_client.config.debugging
116
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.block_team_team_block_post ...'
117
+ end
118
+ # verify the required parameter 'block_team_request' is set
119
+ if @api_client.config.client_side_validation && block_team_request.nil?
120
+ fail ArgumentError, "Missing the required parameter 'block_team_request' when calling TeamManagementApi.block_team_team_block_post"
121
+ end
122
+ # resource path
123
+ local_var_path = '/team/block'
124
+
125
+ # query parameters
126
+ query_params = opts[:query_params] || {}
127
+
128
+ # header parameters
129
+ header_params = opts[:header_params] || {}
130
+ # HTTP header 'Accept' (if needed)
131
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
132
+ # HTTP header 'Content-Type'
133
+ content_type = @api_client.select_header_content_type(['application/json'])
134
+ if !content_type.nil?
135
+ header_params['Content-Type'] = content_type
136
+ end
137
+
138
+ # form parameters
139
+ form_params = opts[:form_params] || {}
140
+
141
+ # http body (model)
142
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(block_team_request)
143
+
144
+ # return_type
145
+ return_type = opts[:debug_return_type] || 'Object'
146
+
147
+ # auth_names
148
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
149
+
150
+ new_options = opts.merge(
151
+ :operation => :"TeamManagementApi.block_team_team_block_post",
152
+ :header_params => header_params,
153
+ :query_params => query_params,
154
+ :form_params => form_params,
155
+ :body => post_body,
156
+ :auth_names => auth_names,
157
+ :return_type => return_type
158
+ )
159
+
160
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
161
+ if @api_client.config.debugging
162
+ @api_client.config.logger.debug "API called: TeamManagementApi#block_team_team_block_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
163
+ end
164
+ return data, status_code, headers
165
+ end
166
+
167
+ # Delete Team
168
+ # delete team and associated team keys Parameters: - team_ids: List[str] - Required. List of team IDs to delete. Example: [\"team-1234\", \"team-5678\"] ``` curl --location 'http://0.0.0.0:4000/team/delete' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data-raw '{ \"team_ids\": [\"8d916b1c-510d-4894-a334-1c16a93344f5\"] }' ```
169
+ # @param delete_team_request [DeleteTeamRequest]
170
+ # @param [Hash] opts the optional parameters
171
+ # @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
172
+ # @return [Object]
173
+ def delete_team_team_delete_post(delete_team_request, opts = {})
174
+ data, _status_code, _headers = delete_team_team_delete_post_with_http_info(delete_team_request, opts)
175
+ data
176
+ end
177
+
178
+ # Delete Team
179
+ # delete team and associated team keys Parameters: - team_ids: List[str] - Required. List of team IDs to delete. Example: [\&quot;team-1234\&quot;, \&quot;team-5678\&quot;] &#x60;&#x60;&#x60; curl --location &#39;http://0.0.0.0:4000/team/delete&#39; --header &#39;Authorization: Bearer sk-1234&#39; --header &#39;Content-Type: application/json&#39; --data-raw &#39;{ \&quot;team_ids\&quot;: [\&quot;8d916b1c-510d-4894-a334-1c16a93344f5\&quot;] }&#39; &#x60;&#x60;&#x60;
180
+ # @param delete_team_request [DeleteTeamRequest]
181
+ # @param [Hash] opts the optional parameters
182
+ # @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
183
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
184
+ def delete_team_team_delete_post_with_http_info(delete_team_request, opts = {})
185
+ if @api_client.config.debugging
186
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.delete_team_team_delete_post ...'
187
+ end
188
+ # verify the required parameter 'delete_team_request' is set
189
+ if @api_client.config.client_side_validation && delete_team_request.nil?
190
+ fail ArgumentError, "Missing the required parameter 'delete_team_request' when calling TeamManagementApi.delete_team_team_delete_post"
191
+ end
192
+ # resource path
193
+ local_var_path = '/team/delete'
194
+
195
+ # query parameters
196
+ query_params = opts[:query_params] || {}
197
+
198
+ # header parameters
199
+ header_params = opts[:header_params] || {}
200
+ # HTTP header 'Accept' (if needed)
201
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
202
+ # HTTP header 'Content-Type'
203
+ content_type = @api_client.select_header_content_type(['application/json'])
204
+ if !content_type.nil?
205
+ header_params['Content-Type'] = content_type
206
+ end
207
+ header_params[:'litellm-changed-by'] = opts[:'litellm_changed_by'] if !opts[:'litellm_changed_by'].nil?
208
+
209
+ # form parameters
210
+ form_params = opts[:form_params] || {}
211
+
212
+ # http body (model)
213
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(delete_team_request)
214
+
215
+ # return_type
216
+ return_type = opts[:debug_return_type] || 'Object'
217
+
218
+ # auth_names
219
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
220
+
221
+ new_options = opts.merge(
222
+ :operation => :"TeamManagementApi.delete_team_team_delete_post",
223
+ :header_params => header_params,
224
+ :query_params => query_params,
225
+ :form_params => form_params,
226
+ :body => post_body,
227
+ :auth_names => auth_names,
228
+ :return_type => return_type
229
+ )
230
+
231
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
232
+ if @api_client.config.debugging
233
+ @api_client.config.logger.debug "API called: TeamManagementApi#delete_team_team_delete_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
234
+ end
235
+ return data, status_code, headers
236
+ end
237
+
238
+ # Disable Team Logging
239
+ # Disable all logging callbacks for a team Parameters: - team_id (str, required): The unique identifier for the team Example curl: ``` curl -X POST 'http://localhost:4000/team/dbe2f686-a686-4896-864a-4c3924458709/disable_logging' -H 'Authorization: Bearer sk-1234' ```
240
+ # @param team_id [String]
241
+ # @param [Hash] opts the optional parameters
242
+ # @return [Object]
243
+ def disable_team_logging_team_team_id_disable_logging_post(team_id, opts = {})
244
+ data, _status_code, _headers = disable_team_logging_team_team_id_disable_logging_post_with_http_info(team_id, opts)
245
+ data
246
+ end
247
+
248
+ # Disable Team Logging
249
+ # Disable all logging callbacks for a team Parameters: - team_id (str, required): The unique identifier for the team Example curl: &#x60;&#x60;&#x60; curl -X POST &#39;http://localhost:4000/team/dbe2f686-a686-4896-864a-4c3924458709/disable_logging&#39; -H &#39;Authorization: Bearer sk-1234&#39; &#x60;&#x60;&#x60;
250
+ # @param team_id [String]
251
+ # @param [Hash] opts the optional parameters
252
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
253
+ def disable_team_logging_team_team_id_disable_logging_post_with_http_info(team_id, opts = {})
254
+ if @api_client.config.debugging
255
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.disable_team_logging_team_team_id_disable_logging_post ...'
256
+ end
257
+ # verify the required parameter 'team_id' is set
258
+ if @api_client.config.client_side_validation && team_id.nil?
259
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling TeamManagementApi.disable_team_logging_team_team_id_disable_logging_post"
260
+ end
261
+ # resource path
262
+ local_var_path = '/team/{team_id}/disable_logging'.sub('{' + 'team_id' + '}', CGI.escape(team_id.to_s))
263
+
264
+ # query parameters
265
+ query_params = opts[:query_params] || {}
266
+
267
+ # header parameters
268
+ header_params = opts[:header_params] || {}
269
+ # HTTP header 'Accept' (if needed)
270
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
271
+
272
+ # form parameters
273
+ form_params = opts[:form_params] || {}
274
+
275
+ # http body (model)
276
+ post_body = opts[:debug_body]
277
+
278
+ # return_type
279
+ return_type = opts[:debug_return_type] || 'Object'
280
+
281
+ # auth_names
282
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
283
+
284
+ new_options = opts.merge(
285
+ :operation => :"TeamManagementApi.disable_team_logging_team_team_id_disable_logging_post",
286
+ :header_params => header_params,
287
+ :query_params => query_params,
288
+ :form_params => form_params,
289
+ :body => post_body,
290
+ :auth_names => auth_names,
291
+ :return_type => return_type
292
+ )
293
+
294
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
295
+ if @api_client.config.debugging
296
+ @api_client.config.logger.debug "API called: TeamManagementApi#disable_team_logging_team_team_id_disable_logging_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
297
+ end
298
+ return data, status_code, headers
299
+ end
300
+
301
+ # Get Team Callbacks
302
+ # Get the success/failure callbacks and variables for a team Parameters: - team_id (str, required): The unique identifier for the team Example curl: ``` curl -X GET 'http://localhost:4000/team/dbe2f686-a686-4896-864a-4c3924458709/callback' -H 'Authorization: Bearer sk-1234' ``` This will return the callback settings for the team with id dbe2f686-a686-4896-864a-4c3924458709 Returns { \"status\": \"success\", \"data\": { \"team_id\": team_id, \"success_callbacks\": team_callback_settings_obj.success_callback, \"failure_callbacks\": team_callback_settings_obj.failure_callback, \"callback_vars\": team_callback_settings_obj.callback_vars, }, }
303
+ # @param team_id [String]
304
+ # @param [Hash] opts the optional parameters
305
+ # @return [Object]
306
+ def get_team_callbacks_team_team_id_callback_get(team_id, opts = {})
307
+ data, _status_code, _headers = get_team_callbacks_team_team_id_callback_get_with_http_info(team_id, opts)
308
+ data
309
+ end
310
+
311
+ # Get Team Callbacks
312
+ # Get the success/failure callbacks and variables for a team Parameters: - team_id (str, required): The unique identifier for the team Example curl: &#x60;&#x60;&#x60; curl -X GET &#39;http://localhost:4000/team/dbe2f686-a686-4896-864a-4c3924458709/callback&#39; -H &#39;Authorization: Bearer sk-1234&#39; &#x60;&#x60;&#x60; This will return the callback settings for the team with id dbe2f686-a686-4896-864a-4c3924458709 Returns { \&quot;status\&quot;: \&quot;success\&quot;, \&quot;data\&quot;: { \&quot;team_id\&quot;: team_id, \&quot;success_callbacks\&quot;: team_callback_settings_obj.success_callback, \&quot;failure_callbacks\&quot;: team_callback_settings_obj.failure_callback, \&quot;callback_vars\&quot;: team_callback_settings_obj.callback_vars, }, }
313
+ # @param team_id [String]
314
+ # @param [Hash] opts the optional parameters
315
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
316
+ def get_team_callbacks_team_team_id_callback_get_with_http_info(team_id, opts = {})
317
+ if @api_client.config.debugging
318
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.get_team_callbacks_team_team_id_callback_get ...'
319
+ end
320
+ # verify the required parameter 'team_id' is set
321
+ if @api_client.config.client_side_validation && team_id.nil?
322
+ fail ArgumentError, "Missing the required parameter 'team_id' when calling TeamManagementApi.get_team_callbacks_team_team_id_callback_get"
323
+ end
324
+ # resource path
325
+ local_var_path = '/team/{team_id}/callback'.sub('{' + 'team_id' + '}', CGI.escape(team_id.to_s))
326
+
327
+ # query parameters
328
+ query_params = opts[:query_params] || {}
329
+
330
+ # header parameters
331
+ header_params = opts[:header_params] || {}
332
+ # HTTP header 'Accept' (if needed)
333
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
334
+
335
+ # form parameters
336
+ form_params = opts[:form_params] || {}
337
+
338
+ # http body (model)
339
+ post_body = opts[:debug_body]
340
+
341
+ # return_type
342
+ return_type = opts[:debug_return_type] || 'Object'
343
+
344
+ # auth_names
345
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
346
+
347
+ new_options = opts.merge(
348
+ :operation => :"TeamManagementApi.get_team_callbacks_team_team_id_callback_get",
349
+ :header_params => header_params,
350
+ :query_params => query_params,
351
+ :form_params => form_params,
352
+ :body => post_body,
353
+ :auth_names => auth_names,
354
+ :return_type => return_type
355
+ )
356
+
357
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
358
+ if @api_client.config.debugging
359
+ @api_client.config.logger.debug "API called: TeamManagementApi#get_team_callbacks_team_team_id_callback_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
360
+ end
361
+ return data, status_code, headers
362
+ end
363
+
364
+ # Get Team Daily Activity
365
+ # Get daily activity for specific teams or all teams. Args: team_ids (Optional[str]): Comma-separated list of team IDs to filter by. If not provided, returns data for all teams. start_date (Optional[str]): Start date for the activity period (YYYY-MM-DD). end_date (Optional[str]): End date for the activity period (YYYY-MM-DD). model (Optional[str]): Filter by model name. api_key (Optional[str]): Filter by API key. page (int): Page number for pagination. page_size (int): Number of items per page. exclude_team_ids (Optional[str]): Comma-separated list of team IDs to exclude. Returns: SpendAnalyticsPaginatedResponse: Paginated response containing daily activity data.
366
+ # @param [Hash] opts the optional parameters
367
+ # @option opts [String] :team_ids
368
+ # @option opts [String] :start_date
369
+ # @option opts [String] :end_date
370
+ # @option opts [String] :model
371
+ # @option opts [String] :api_key
372
+ # @option opts [Integer] :page (default to 1)
373
+ # @option opts [Integer] :page_size (default to 10)
374
+ # @option opts [String] :exclude_team_ids
375
+ # @return [SpendAnalyticsPaginatedResponse]
376
+ def get_team_daily_activity_team_daily_activity_get(opts = {})
377
+ data, _status_code, _headers = get_team_daily_activity_team_daily_activity_get_with_http_info(opts)
378
+ data
379
+ end
380
+
381
+ # Get Team Daily Activity
382
+ # Get daily activity for specific teams or all teams. Args: team_ids (Optional[str]): Comma-separated list of team IDs to filter by. If not provided, returns data for all teams. start_date (Optional[str]): Start date for the activity period (YYYY-MM-DD). end_date (Optional[str]): End date for the activity period (YYYY-MM-DD). model (Optional[str]): Filter by model name. api_key (Optional[str]): Filter by API key. page (int): Page number for pagination. page_size (int): Number of items per page. exclude_team_ids (Optional[str]): Comma-separated list of team IDs to exclude. Returns: SpendAnalyticsPaginatedResponse: Paginated response containing daily activity data.
383
+ # @param [Hash] opts the optional parameters
384
+ # @option opts [String] :team_ids
385
+ # @option opts [String] :start_date
386
+ # @option opts [String] :end_date
387
+ # @option opts [String] :model
388
+ # @option opts [String] :api_key
389
+ # @option opts [Integer] :page (default to 1)
390
+ # @option opts [Integer] :page_size (default to 10)
391
+ # @option opts [String] :exclude_team_ids
392
+ # @return [Array<(SpendAnalyticsPaginatedResponse, Integer, Hash)>] SpendAnalyticsPaginatedResponse data, response status code and response headers
393
+ def get_team_daily_activity_team_daily_activity_get_with_http_info(opts = {})
394
+ if @api_client.config.debugging
395
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.get_team_daily_activity_team_daily_activity_get ...'
396
+ end
397
+ # resource path
398
+ local_var_path = '/team/daily/activity'
399
+
400
+ # query parameters
401
+ query_params = opts[:query_params] || {}
402
+ query_params[:'team_ids'] = opts[:'team_ids'] if !opts[:'team_ids'].nil?
403
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
404
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
405
+ query_params[:'model'] = opts[:'model'] if !opts[:'model'].nil?
406
+ query_params[:'api_key'] = opts[:'api_key'] if !opts[:'api_key'].nil?
407
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
408
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
409
+ query_params[:'exclude_team_ids'] = opts[:'exclude_team_ids'] if !opts[:'exclude_team_ids'].nil?
410
+
411
+ # header parameters
412
+ header_params = opts[:header_params] || {}
413
+ # HTTP header 'Accept' (if needed)
414
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
415
+
416
+ # form parameters
417
+ form_params = opts[:form_params] || {}
418
+
419
+ # http body (model)
420
+ post_body = opts[:debug_body]
421
+
422
+ # return_type
423
+ return_type = opts[:debug_return_type] || 'SpendAnalyticsPaginatedResponse'
424
+
425
+ # auth_names
426
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
427
+
428
+ new_options = opts.merge(
429
+ :operation => :"TeamManagementApi.get_team_daily_activity_team_daily_activity_get",
430
+ :header_params => header_params,
431
+ :query_params => query_params,
432
+ :form_params => form_params,
433
+ :body => post_body,
434
+ :auth_names => auth_names,
435
+ :return_type => return_type
436
+ )
437
+
438
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
439
+ if @api_client.config.debugging
440
+ @api_client.config.logger.debug "API called: TeamManagementApi#get_team_daily_activity_team_daily_activity_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
441
+ end
442
+ return data, status_code, headers
443
+ end
444
+
445
+ # List Team
446
+ # ``` curl --location --request GET 'http://0.0.0.0:4000/team/list' --header 'Authorization: Bearer sk-1234' ``` Parameters: - user_id: str - Optional. If passed will only return teams that the user_id is a member of. - organization_id: str - Optional. If passed will only return teams that belong to the organization_id. Pass 'default_organization' to get all teams without organization_id.
447
+ # @param [Hash] opts the optional parameters
448
+ # @option opts [String] :user_id Only return teams which this &#39;user_id&#39; belongs to
449
+ # @option opts [String] :organization_id
450
+ # @return [Object]
451
+ def list_team_team_list_get(opts = {})
452
+ data, _status_code, _headers = list_team_team_list_get_with_http_info(opts)
453
+ data
454
+ end
455
+
456
+ # List Team
457
+ # &#x60;&#x60;&#x60; curl --location --request GET &#39;http://0.0.0.0:4000/team/list&#39; --header &#39;Authorization: Bearer sk-1234&#39; &#x60;&#x60;&#x60; Parameters: - user_id: str - Optional. If passed will only return teams that the user_id is a member of. - organization_id: str - Optional. If passed will only return teams that belong to the organization_id. Pass &#39;default_organization&#39; to get all teams without organization_id.
458
+ # @param [Hash] opts the optional parameters
459
+ # @option opts [String] :user_id Only return teams which this &#39;user_id&#39; belongs to
460
+ # @option opts [String] :organization_id
461
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
462
+ def list_team_team_list_get_with_http_info(opts = {})
463
+ if @api_client.config.debugging
464
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.list_team_team_list_get ...'
465
+ end
466
+ # resource path
467
+ local_var_path = '/team/list'
468
+
469
+ # query parameters
470
+ query_params = opts[:query_params] || {}
471
+ query_params[:'user_id'] = opts[:'user_id'] if !opts[:'user_id'].nil?
472
+ query_params[:'organization_id'] = opts[:'organization_id'] if !opts[:'organization_id'].nil?
473
+
474
+ # header parameters
475
+ header_params = opts[:header_params] || {}
476
+ # HTTP header 'Accept' (if needed)
477
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
478
+
479
+ # form parameters
480
+ form_params = opts[:form_params] || {}
481
+
482
+ # http body (model)
483
+ post_body = opts[:debug_body]
484
+
485
+ # return_type
486
+ return_type = opts[:debug_return_type] || 'Object'
487
+
488
+ # auth_names
489
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
490
+
491
+ new_options = opts.merge(
492
+ :operation => :"TeamManagementApi.list_team_team_list_get",
493
+ :header_params => header_params,
494
+ :query_params => query_params,
495
+ :form_params => form_params,
496
+ :body => post_body,
497
+ :auth_names => auth_names,
498
+ :return_type => return_type
499
+ )
500
+
501
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
502
+ if @api_client.config.debugging
503
+ @api_client.config.logger.debug "API called: TeamManagementApi#list_team_team_list_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
504
+ end
505
+ return data, status_code, headers
506
+ end
507
+
508
+ # List Team V2
509
+ # Get a paginated list of teams with filtering and sorting options. Parameters: user_id: Optional[str] Only return teams which this user belongs to organization_id: Optional[str] Only return teams which belong to this organization team_id: Optional[str] Filter teams by exact team_id match team_alias: Optional[str] Filter teams by partial team_alias match 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. 'team_id', 'team_alias', 'created_at') sort_order: str Sort order ('asc' or 'desc')
510
+ # @param [Hash] opts the optional parameters
511
+ # @option opts [String] :user_id Only return teams which this &#39;user_id&#39; belongs to
512
+ # @option opts [String] :organization_id Only return teams which this &#39;organization_id&#39; belongs to
513
+ # @option opts [String] :team_id Only return teams which this &#39;team_id&#39; belongs to
514
+ # @option opts [String] :team_alias Only return teams which this &#39;team_alias&#39; belongs to. Supports partial matching.
515
+ # @option opts [Integer] :page Page number for pagination (default to 1)
516
+ # @option opts [Integer] :page_size Number of teams per page (default to 10)
517
+ # @option opts [String] :sort_by Column to sort by (e.g. &#39;team_id&#39;, &#39;team_alias&#39;, &#39;created_at&#39;)
518
+ # @option opts [String] :sort_order Sort order (&#39;asc&#39; or &#39;desc&#39;) (default to 'asc')
519
+ # @return [TeamListResponse]
520
+ def list_team_v2_v2_team_list_get(opts = {})
521
+ data, _status_code, _headers = list_team_v2_v2_team_list_get_with_http_info(opts)
522
+ data
523
+ end
524
+
525
+ # List Team V2
526
+ # Get a paginated list of teams with filtering and sorting options. Parameters: user_id: Optional[str] Only return teams which this user belongs to organization_id: Optional[str] Only return teams which belong to this organization team_id: Optional[str] Filter teams by exact team_id match team_alias: Optional[str] Filter teams by partial team_alias match 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;team_id&#39;, &#39;team_alias&#39;, &#39;created_at&#39;) sort_order: str Sort order (&#39;asc&#39; or &#39;desc&#39;)
527
+ # @param [Hash] opts the optional parameters
528
+ # @option opts [String] :user_id Only return teams which this &#39;user_id&#39; belongs to
529
+ # @option opts [String] :organization_id Only return teams which this &#39;organization_id&#39; belongs to
530
+ # @option opts [String] :team_id Only return teams which this &#39;team_id&#39; belongs to
531
+ # @option opts [String] :team_alias Only return teams which this &#39;team_alias&#39; belongs to. Supports partial matching.
532
+ # @option opts [Integer] :page Page number for pagination (default to 1)
533
+ # @option opts [Integer] :page_size Number of teams per page (default to 10)
534
+ # @option opts [String] :sort_by Column to sort by (e.g. &#39;team_id&#39;, &#39;team_alias&#39;, &#39;created_at&#39;)
535
+ # @option opts [String] :sort_order Sort order (&#39;asc&#39; or &#39;desc&#39;) (default to 'asc')
536
+ # @return [Array<(TeamListResponse, Integer, Hash)>] TeamListResponse data, response status code and response headers
537
+ def list_team_v2_v2_team_list_get_with_http_info(opts = {})
538
+ if @api_client.config.debugging
539
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.list_team_v2_v2_team_list_get ...'
540
+ end
541
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
542
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling TeamManagementApi.list_team_v2_v2_team_list_get, must be greater than or equal to 1.'
543
+ end
544
+
545
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
546
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TeamManagementApi.list_team_v2_v2_team_list_get, must be smaller than or equal to 100.'
547
+ end
548
+
549
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
550
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TeamManagementApi.list_team_v2_v2_team_list_get, must be greater than or equal to 1.'
551
+ end
552
+
553
+ # resource path
554
+ local_var_path = '/v2/team/list'
555
+
556
+ # query parameters
557
+ query_params = opts[:query_params] || {}
558
+ query_params[:'user_id'] = opts[:'user_id'] if !opts[:'user_id'].nil?
559
+ query_params[:'organization_id'] = opts[:'organization_id'] if !opts[:'organization_id'].nil?
560
+ query_params[:'team_id'] = opts[:'team_id'] if !opts[:'team_id'].nil?
561
+ query_params[:'team_alias'] = opts[:'team_alias'] if !opts[:'team_alias'].nil?
562
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
563
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
564
+ query_params[:'sort_by'] = opts[:'sort_by'] if !opts[:'sort_by'].nil?
565
+ query_params[:'sort_order'] = opts[:'sort_order'] if !opts[:'sort_order'].nil?
566
+
567
+ # header parameters
568
+ header_params = opts[:header_params] || {}
569
+ # HTTP header 'Accept' (if needed)
570
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
571
+
572
+ # form parameters
573
+ form_params = opts[:form_params] || {}
574
+
575
+ # http body (model)
576
+ post_body = opts[:debug_body]
577
+
578
+ # return_type
579
+ return_type = opts[:debug_return_type] || 'TeamListResponse'
580
+
581
+ # auth_names
582
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
583
+
584
+ new_options = opts.merge(
585
+ :operation => :"TeamManagementApi.list_team_v2_v2_team_list_get",
586
+ :header_params => header_params,
587
+ :query_params => query_params,
588
+ :form_params => form_params,
589
+ :body => post_body,
590
+ :auth_names => auth_names,
591
+ :return_type => return_type
592
+ )
593
+
594
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
595
+ if @api_client.config.debugging
596
+ @api_client.config.logger.debug "API called: TeamManagementApi#list_team_v2_v2_team_list_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
597
+ end
598
+ return data, status_code, headers
599
+ end
600
+
601
+ # New Team
602
+ # Allow users to create a new team. Apply user permissions to their team. 👉 [Detailed Doc on setting team budgets](https://docs.litellm.ai/docs/proxy/team_budgets) Parameters: - team_alias: Optional[str] - User defined team alias - team_id: Optional[str] - The team id of the user. If none passed, we'll generate it. - members_with_roles: List[{\"role\": \"admin\" or \"user\", \"user_id\": \"<user-id>\"}] - A list of users and their roles in the team. Get user_id when making a new user via `/user/new`. - team_member_permissions: Optional[List[str]] - A list of routes that non-admin team members can access. example: [\"/key/generate\", \"/key/update\", \"/key/delete\"] - metadata: Optional[dict] - Metadata for team, store information for team. Example metadata = {\"extra_info\": \"some info\"} - tpm_limit: Optional[int] - The TPM (Tokens Per Minute) limit for this team - all keys with this team_id will have at max this TPM limit - rpm_limit: Optional[int] - The RPM (Requests Per Minute) limit for this team - all keys associated with this team_id will have at max this RPM limit - max_budget: Optional[float] - The maximum budget allocated to the team - all keys for this team_id will have at max this max_budget - budget_duration: Optional[str] - The duration of the budget for the team. Doc [here](https://docs.litellm.ai/docs/proxy/team_budgets) - models: Optional[list] - A list of models associated with the team - all keys for this team_id will have at most, these models. If empty, assumes all models are allowed. - blocked: bool - Flag indicating if the team is blocked or not - will stop all calls from keys with this team_id. - members: Optional[List] - Control team members via `/team/member/add` and `/team/member/delete`. - tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - organization_id: Optional[str] - The organization id of the team. Default is None. Create via `/organization/new`. - model_aliases: Optional[dict] - Model aliases for the team. [Docs](https://docs.litellm.ai/docs/proxy/team_based_routing#create-team-with-model-alias) - guardrails: Optional[List[str]] - Guardrails for the team. [Docs](https://docs.litellm.ai/docs/proxy/guardrails) - object_permission: Optional[LiteLLM_ObjectPermissionBase] - team-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission. Returns: - team_id: (str) Unique team id - used for tracking spend across multiple keys for same team id. _deprecated_params: - admins: list - A list of user_id's for the admin role - users: list - A list of user_id's for the user role Example Request: ``` curl --location 'http://0.0.0.0:4000/team/new' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"team_alias\": \"my-new-team_2\", \"members_with_roles\": [{\"role\": \"admin\", \"user_id\": \"user-1234\"}, {\"role\": \"user\", \"user_id\": \"user-2434\"}] }' ``` ``` curl --location 'http://0.0.0.0:4000/team/new' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"team_alias\": \"QA Prod Bot\", \"max_budget\": 0.000000001, \"budget_duration\": \"1d\" }' ```
603
+ # @param new_team_request [NewTeamRequest]
604
+ # @param [Hash] opts the optional parameters
605
+ # @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
606
+ # @return [LiteLLMTeamTable]
607
+ def new_team_team_new_post(new_team_request, opts = {})
608
+ data, _status_code, _headers = new_team_team_new_post_with_http_info(new_team_request, opts)
609
+ data
610
+ end
611
+
612
+ # New Team
613
+ # Allow users to create a new team. Apply user permissions to their team. 👉 [Detailed Doc on setting team budgets](https://docs.litellm.ai/docs/proxy/team_budgets) Parameters: - team_alias: Optional[str] - User defined team alias - team_id: Optional[str] - The team id of the user. If none passed, we&#39;ll generate it. - members_with_roles: List[{\&quot;role\&quot;: \&quot;admin\&quot; or \&quot;user\&quot;, \&quot;user_id\&quot;: \&quot;&lt;user-id&gt;\&quot;}] - A list of users and their roles in the team. Get user_id when making a new user via &#x60;/user/new&#x60;. - team_member_permissions: Optional[List[str]] - A list of routes that non-admin team members can access. example: [\&quot;/key/generate\&quot;, \&quot;/key/update\&quot;, \&quot;/key/delete\&quot;] - metadata: Optional[dict] - Metadata for team, store information for team. Example metadata &#x3D; {\&quot;extra_info\&quot;: \&quot;some info\&quot;} - tpm_limit: Optional[int] - The TPM (Tokens Per Minute) limit for this team - all keys with this team_id will have at max this TPM limit - rpm_limit: Optional[int] - The RPM (Requests Per Minute) limit for this team - all keys associated with this team_id will have at max this RPM limit - max_budget: Optional[float] - The maximum budget allocated to the team - all keys for this team_id will have at max this max_budget - budget_duration: Optional[str] - The duration of the budget for the team. Doc [here](https://docs.litellm.ai/docs/proxy/team_budgets) - models: Optional[list] - A list of models associated with the team - all keys for this team_id will have at most, these models. If empty, assumes all models are allowed. - blocked: bool - Flag indicating if the team is blocked or not - will stop all calls from keys with this team_id. - members: Optional[List] - Control team members via &#x60;/team/member/add&#x60; and &#x60;/team/member/delete&#x60;. - tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - organization_id: Optional[str] - The organization id of the team. Default is None. Create via &#x60;/organization/new&#x60;. - model_aliases: Optional[dict] - Model aliases for the team. [Docs](https://docs.litellm.ai/docs/proxy/team_based_routing#create-team-with-model-alias) - guardrails: Optional[List[str]] - Guardrails for the team. [Docs](https://docs.litellm.ai/docs/proxy/guardrails) - object_permission: Optional[LiteLLM_ObjectPermissionBase] - team-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. Returns: - team_id: (str) Unique team id - used for tracking spend across multiple keys for same team id. _deprecated_params: - admins: list - A list of user_id&#39;s for the admin role - users: list - A list of user_id&#39;s for the user role Example Request: &#x60;&#x60;&#x60; curl --location &#39;http://0.0.0.0:4000/team/new&#39; --header &#39;Authorization: Bearer sk-1234&#39; --header &#39;Content-Type: application/json&#39; --data &#39;{ \&quot;team_alias\&quot;: \&quot;my-new-team_2\&quot;, \&quot;members_with_roles\&quot;: [{\&quot;role\&quot;: \&quot;admin\&quot;, \&quot;user_id\&quot;: \&quot;user-1234\&quot;}, {\&quot;role\&quot;: \&quot;user\&quot;, \&quot;user_id\&quot;: \&quot;user-2434\&quot;}] }&#39; &#x60;&#x60;&#x60; &#x60;&#x60;&#x60; curl --location &#39;http://0.0.0.0:4000/team/new&#39; --header &#39;Authorization: Bearer sk-1234&#39; --header &#39;Content-Type: application/json&#39; --data &#39;{ \&quot;team_alias\&quot;: \&quot;QA Prod Bot\&quot;, \&quot;max_budget\&quot;: 0.000000001, \&quot;budget_duration\&quot;: \&quot;1d\&quot; }&#39; &#x60;&#x60;&#x60;
614
+ # @param new_team_request [NewTeamRequest]
615
+ # @param [Hash] opts the optional parameters
616
+ # @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
617
+ # @return [Array<(LiteLLMTeamTable, Integer, Hash)>] LiteLLMTeamTable data, response status code and response headers
618
+ def new_team_team_new_post_with_http_info(new_team_request, opts = {})
619
+ if @api_client.config.debugging
620
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.new_team_team_new_post ...'
621
+ end
622
+ # verify the required parameter 'new_team_request' is set
623
+ if @api_client.config.client_side_validation && new_team_request.nil?
624
+ fail ArgumentError, "Missing the required parameter 'new_team_request' when calling TeamManagementApi.new_team_team_new_post"
625
+ end
626
+ # resource path
627
+ local_var_path = '/team/new'
628
+
629
+ # query parameters
630
+ query_params = opts[:query_params] || {}
631
+
632
+ # header parameters
633
+ header_params = opts[:header_params] || {}
634
+ # HTTP header 'Accept' (if needed)
635
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
636
+ # HTTP header 'Content-Type'
637
+ content_type = @api_client.select_header_content_type(['application/json'])
638
+ if !content_type.nil?
639
+ header_params['Content-Type'] = content_type
640
+ end
641
+ header_params[:'litellm-changed-by'] = opts[:'litellm_changed_by'] if !opts[:'litellm_changed_by'].nil?
642
+
643
+ # form parameters
644
+ form_params = opts[:form_params] || {}
645
+
646
+ # http body (model)
647
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(new_team_request)
648
+
649
+ # return_type
650
+ return_type = opts[:debug_return_type] || 'LiteLLMTeamTable'
651
+
652
+ # auth_names
653
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
654
+
655
+ new_options = opts.merge(
656
+ :operation => :"TeamManagementApi.new_team_team_new_post",
657
+ :header_params => header_params,
658
+ :query_params => query_params,
659
+ :form_params => form_params,
660
+ :body => post_body,
661
+ :auth_names => auth_names,
662
+ :return_type => return_type
663
+ )
664
+
665
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
666
+ if @api_client.config.debugging
667
+ @api_client.config.logger.debug "API called: TeamManagementApi#new_team_team_new_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
668
+ end
669
+ return data, status_code, headers
670
+ end
671
+
672
+ # Team Info
673
+ # get info on team + related keys Parameters: - team_id: str - Required. The unique identifier of the team to get info on. ``` curl --location 'http://localhost:4000/team/info?team_id=your_team_id_here' --header 'Authorization: Bearer your_api_key_here' ```
674
+ # @param [Hash] opts the optional parameters
675
+ # @option opts [String] :team_id Team ID in the request parameters
676
+ # @return [Object]
677
+ def team_info_team_info_get(opts = {})
678
+ data, _status_code, _headers = team_info_team_info_get_with_http_info(opts)
679
+ data
680
+ end
681
+
682
+ # Team Info
683
+ # get info on team + related keys Parameters: - team_id: str - Required. The unique identifier of the team to get info on. &#x60;&#x60;&#x60; curl --location &#39;http://localhost:4000/team/info?team_id&#x3D;your_team_id_here&#39; --header &#39;Authorization: Bearer your_api_key_here&#39; &#x60;&#x60;&#x60;
684
+ # @param [Hash] opts the optional parameters
685
+ # @option opts [String] :team_id Team ID in the request parameters
686
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
687
+ def team_info_team_info_get_with_http_info(opts = {})
688
+ if @api_client.config.debugging
689
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.team_info_team_info_get ...'
690
+ end
691
+ # resource path
692
+ local_var_path = '/team/info'
693
+
694
+ # query parameters
695
+ query_params = opts[:query_params] || {}
696
+ query_params[:'team_id'] = opts[:'team_id'] if !opts[:'team_id'].nil?
697
+
698
+ # header parameters
699
+ header_params = opts[:header_params] || {}
700
+ # HTTP header 'Accept' (if needed)
701
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
702
+
703
+ # form parameters
704
+ form_params = opts[:form_params] || {}
705
+
706
+ # http body (model)
707
+ post_body = opts[:debug_body]
708
+
709
+ # return_type
710
+ return_type = opts[:debug_return_type] || 'Object'
711
+
712
+ # auth_names
713
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
714
+
715
+ new_options = opts.merge(
716
+ :operation => :"TeamManagementApi.team_info_team_info_get",
717
+ :header_params => header_params,
718
+ :query_params => query_params,
719
+ :form_params => form_params,
720
+ :body => post_body,
721
+ :auth_names => auth_names,
722
+ :return_type => return_type
723
+ )
724
+
725
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
726
+ if @api_client.config.debugging
727
+ @api_client.config.logger.debug "API called: TeamManagementApi#team_info_team_info_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
728
+ end
729
+ return data, status_code, headers
730
+ end
731
+
732
+ # Team Member Add
733
+ # [BETA] Add new members (either via user_email or user_id) to a team If user doesn't exist, new user row will also be added to User Table Only proxy_admin or admin of team, allowed to access this endpoint. ``` curl -X POST 'http://0.0.0.0:4000/team/member_add' -H 'Authorization: Bearer sk-1234' -H 'Content-Type: application/json' -d '{\"team_id\": \"45e3e396-ee08-4a61-a88e-16b3ce7e0849\", \"member\": {\"role\": \"user\", \"user_id\": \"krrish247652@berri.ai\"}}' ```
734
+ # @param team_member_add_request [TeamMemberAddRequest]
735
+ # @param [Hash] opts the optional parameters
736
+ # @return [TeamAddMemberResponse]
737
+ def team_member_add_team_member_add_post(team_member_add_request, opts = {})
738
+ data, _status_code, _headers = team_member_add_team_member_add_post_with_http_info(team_member_add_request, opts)
739
+ data
740
+ end
741
+
742
+ # Team Member Add
743
+ # [BETA] Add new members (either via user_email or user_id) to a team If user doesn&#39;t exist, new user row will also be added to User Table Only proxy_admin or admin of team, allowed to access this endpoint. &#x60;&#x60;&#x60; curl -X POST &#39;http://0.0.0.0:4000/team/member_add&#39; -H &#39;Authorization: Bearer sk-1234&#39; -H &#39;Content-Type: application/json&#39; -d &#39;{\&quot;team_id\&quot;: \&quot;45e3e396-ee08-4a61-a88e-16b3ce7e0849\&quot;, \&quot;member\&quot;: {\&quot;role\&quot;: \&quot;user\&quot;, \&quot;user_id\&quot;: \&quot;krrish247652@berri.ai\&quot;}}&#39; &#x60;&#x60;&#x60;
744
+ # @param team_member_add_request [TeamMemberAddRequest]
745
+ # @param [Hash] opts the optional parameters
746
+ # @return [Array<(TeamAddMemberResponse, Integer, Hash)>] TeamAddMemberResponse data, response status code and response headers
747
+ def team_member_add_team_member_add_post_with_http_info(team_member_add_request, opts = {})
748
+ if @api_client.config.debugging
749
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.team_member_add_team_member_add_post ...'
750
+ end
751
+ # verify the required parameter 'team_member_add_request' is set
752
+ if @api_client.config.client_side_validation && team_member_add_request.nil?
753
+ fail ArgumentError, "Missing the required parameter 'team_member_add_request' when calling TeamManagementApi.team_member_add_team_member_add_post"
754
+ end
755
+ # resource path
756
+ local_var_path = '/team/member_add'
757
+
758
+ # query parameters
759
+ query_params = opts[:query_params] || {}
760
+
761
+ # header parameters
762
+ header_params = opts[:header_params] || {}
763
+ # HTTP header 'Accept' (if needed)
764
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
765
+ # HTTP header 'Content-Type'
766
+ content_type = @api_client.select_header_content_type(['application/json'])
767
+ if !content_type.nil?
768
+ header_params['Content-Type'] = content_type
769
+ end
770
+
771
+ # form parameters
772
+ form_params = opts[:form_params] || {}
773
+
774
+ # http body (model)
775
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(team_member_add_request)
776
+
777
+ # return_type
778
+ return_type = opts[:debug_return_type] || 'TeamAddMemberResponse'
779
+
780
+ # auth_names
781
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
782
+
783
+ new_options = opts.merge(
784
+ :operation => :"TeamManagementApi.team_member_add_team_member_add_post",
785
+ :header_params => header_params,
786
+ :query_params => query_params,
787
+ :form_params => form_params,
788
+ :body => post_body,
789
+ :auth_names => auth_names,
790
+ :return_type => return_type
791
+ )
792
+
793
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
794
+ if @api_client.config.debugging
795
+ @api_client.config.logger.debug "API called: TeamManagementApi#team_member_add_team_member_add_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
796
+ end
797
+ return data, status_code, headers
798
+ end
799
+
800
+ # Team Member Delete
801
+ # [BETA] delete members (either via user_email or user_id) from a team If user doesn't exist, an exception will be raised ``` curl -X POST 'http://0.0.0.0:8000/team/member_delete' -H 'Authorization: Bearer sk-1234' -H 'Content-Type: application/json' -d '{ \"team_id\": \"45e3e396-ee08-4a61-a88e-16b3ce7e0849\", \"user_id\": \"krrish247652@berri.ai\" }' ```
802
+ # @param team_member_delete_request [TeamMemberDeleteRequest]
803
+ # @param [Hash] opts the optional parameters
804
+ # @return [Object]
805
+ def team_member_delete_team_member_delete_post(team_member_delete_request, opts = {})
806
+ data, _status_code, _headers = team_member_delete_team_member_delete_post_with_http_info(team_member_delete_request, opts)
807
+ data
808
+ end
809
+
810
+ # Team Member Delete
811
+ # [BETA] delete members (either via user_email or user_id) from a team If user doesn&#39;t exist, an exception will be raised &#x60;&#x60;&#x60; curl -X POST &#39;http://0.0.0.0:8000/team/member_delete&#39; -H &#39;Authorization: Bearer sk-1234&#39; -H &#39;Content-Type: application/json&#39; -d &#39;{ \&quot;team_id\&quot;: \&quot;45e3e396-ee08-4a61-a88e-16b3ce7e0849\&quot;, \&quot;user_id\&quot;: \&quot;krrish247652@berri.ai\&quot; }&#39; &#x60;&#x60;&#x60;
812
+ # @param team_member_delete_request [TeamMemberDeleteRequest]
813
+ # @param [Hash] opts the optional parameters
814
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
815
+ def team_member_delete_team_member_delete_post_with_http_info(team_member_delete_request, opts = {})
816
+ if @api_client.config.debugging
817
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.team_member_delete_team_member_delete_post ...'
818
+ end
819
+ # verify the required parameter 'team_member_delete_request' is set
820
+ if @api_client.config.client_side_validation && team_member_delete_request.nil?
821
+ fail ArgumentError, "Missing the required parameter 'team_member_delete_request' when calling TeamManagementApi.team_member_delete_team_member_delete_post"
822
+ end
823
+ # resource path
824
+ local_var_path = '/team/member_delete'
825
+
826
+ # query parameters
827
+ query_params = opts[:query_params] || {}
828
+
829
+ # header parameters
830
+ header_params = opts[:header_params] || {}
831
+ # HTTP header 'Accept' (if needed)
832
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
833
+ # HTTP header 'Content-Type'
834
+ content_type = @api_client.select_header_content_type(['application/json'])
835
+ if !content_type.nil?
836
+ header_params['Content-Type'] = content_type
837
+ end
838
+
839
+ # form parameters
840
+ form_params = opts[:form_params] || {}
841
+
842
+ # http body (model)
843
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(team_member_delete_request)
844
+
845
+ # return_type
846
+ return_type = opts[:debug_return_type] || 'Object'
847
+
848
+ # auth_names
849
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
850
+
851
+ new_options = opts.merge(
852
+ :operation => :"TeamManagementApi.team_member_delete_team_member_delete_post",
853
+ :header_params => header_params,
854
+ :query_params => query_params,
855
+ :form_params => form_params,
856
+ :body => post_body,
857
+ :auth_names => auth_names,
858
+ :return_type => return_type
859
+ )
860
+
861
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
862
+ if @api_client.config.debugging
863
+ @api_client.config.logger.debug "API called: TeamManagementApi#team_member_delete_team_member_delete_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
864
+ end
865
+ return data, status_code, headers
866
+ end
867
+
868
+ # Team Member Permissions
869
+ # Get the team member permissions for a team
870
+ # @param [Hash] opts the optional parameters
871
+ # @option opts [String] :team_id Team ID in the request parameters
872
+ # @return [GetTeamMemberPermissionsResponse]
873
+ def team_member_permissions_team_permissions_list_get(opts = {})
874
+ data, _status_code, _headers = team_member_permissions_team_permissions_list_get_with_http_info(opts)
875
+ data
876
+ end
877
+
878
+ # Team Member Permissions
879
+ # Get the team member permissions for a team
880
+ # @param [Hash] opts the optional parameters
881
+ # @option opts [String] :team_id Team ID in the request parameters
882
+ # @return [Array<(GetTeamMemberPermissionsResponse, Integer, Hash)>] GetTeamMemberPermissionsResponse data, response status code and response headers
883
+ def team_member_permissions_team_permissions_list_get_with_http_info(opts = {})
884
+ if @api_client.config.debugging
885
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.team_member_permissions_team_permissions_list_get ...'
886
+ end
887
+ # resource path
888
+ local_var_path = '/team/permissions_list'
889
+
890
+ # query parameters
891
+ query_params = opts[:query_params] || {}
892
+ query_params[:'team_id'] = opts[:'team_id'] if !opts[:'team_id'].nil?
893
+
894
+ # header parameters
895
+ header_params = opts[:header_params] || {}
896
+ # HTTP header 'Accept' (if needed)
897
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
898
+
899
+ # form parameters
900
+ form_params = opts[:form_params] || {}
901
+
902
+ # http body (model)
903
+ post_body = opts[:debug_body]
904
+
905
+ # return_type
906
+ return_type = opts[:debug_return_type] || 'GetTeamMemberPermissionsResponse'
907
+
908
+ # auth_names
909
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
910
+
911
+ new_options = opts.merge(
912
+ :operation => :"TeamManagementApi.team_member_permissions_team_permissions_list_get",
913
+ :header_params => header_params,
914
+ :query_params => query_params,
915
+ :form_params => form_params,
916
+ :body => post_body,
917
+ :auth_names => auth_names,
918
+ :return_type => return_type
919
+ )
920
+
921
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
922
+ if @api_client.config.debugging
923
+ @api_client.config.logger.debug "API called: TeamManagementApi#team_member_permissions_team_permissions_list_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
924
+ end
925
+ return data, status_code, headers
926
+ end
927
+
928
+ # Team Member Update
929
+ # [BETA] Update team member budgets and team member role
930
+ # @param team_member_update_request [TeamMemberUpdateRequest]
931
+ # @param [Hash] opts the optional parameters
932
+ # @return [TeamMemberUpdateResponse]
933
+ def team_member_update_team_member_update_post(team_member_update_request, opts = {})
934
+ data, _status_code, _headers = team_member_update_team_member_update_post_with_http_info(team_member_update_request, opts)
935
+ data
936
+ end
937
+
938
+ # Team Member Update
939
+ # [BETA] Update team member budgets and team member role
940
+ # @param team_member_update_request [TeamMemberUpdateRequest]
941
+ # @param [Hash] opts the optional parameters
942
+ # @return [Array<(TeamMemberUpdateResponse, Integer, Hash)>] TeamMemberUpdateResponse data, response status code and response headers
943
+ def team_member_update_team_member_update_post_with_http_info(team_member_update_request, opts = {})
944
+ if @api_client.config.debugging
945
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.team_member_update_team_member_update_post ...'
946
+ end
947
+ # verify the required parameter 'team_member_update_request' is set
948
+ if @api_client.config.client_side_validation && team_member_update_request.nil?
949
+ fail ArgumentError, "Missing the required parameter 'team_member_update_request' when calling TeamManagementApi.team_member_update_team_member_update_post"
950
+ end
951
+ # resource path
952
+ local_var_path = '/team/member_update'
953
+
954
+ # query parameters
955
+ query_params = opts[:query_params] || {}
956
+
957
+ # header parameters
958
+ header_params = opts[:header_params] || {}
959
+ # HTTP header 'Accept' (if needed)
960
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
961
+ # HTTP header 'Content-Type'
962
+ content_type = @api_client.select_header_content_type(['application/json'])
963
+ if !content_type.nil?
964
+ header_params['Content-Type'] = content_type
965
+ end
966
+
967
+ # form parameters
968
+ form_params = opts[:form_params] || {}
969
+
970
+ # http body (model)
971
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(team_member_update_request)
972
+
973
+ # return_type
974
+ return_type = opts[:debug_return_type] || 'TeamMemberUpdateResponse'
975
+
976
+ # auth_names
977
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
978
+
979
+ new_options = opts.merge(
980
+ :operation => :"TeamManagementApi.team_member_update_team_member_update_post",
981
+ :header_params => header_params,
982
+ :query_params => query_params,
983
+ :form_params => form_params,
984
+ :body => post_body,
985
+ :auth_names => auth_names,
986
+ :return_type => return_type
987
+ )
988
+
989
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
990
+ if @api_client.config.debugging
991
+ @api_client.config.logger.debug "API called: TeamManagementApi#team_member_update_team_member_update_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
992
+ end
993
+ return data, status_code, headers
994
+ end
995
+
996
+ # Team Model Add
997
+ # Add models to a team's allowed model list. Only proxy admin or team admin can add models. Parameters: - team_id: str - Required. The team to add models to - models: List[str] - Required. List of models to add to the team Example Request: ``` curl --location 'http://0.0.0.0:4000/team/model/add' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"team_id\": \"team-1234\", \"models\": [\"gpt-4\", \"claude-2\"] }' ```
998
+ # @param team_model_add_request [TeamModelAddRequest]
999
+ # @param [Hash] opts the optional parameters
1000
+ # @return [Object]
1001
+ def team_model_add_team_model_add_post(team_model_add_request, opts = {})
1002
+ data, _status_code, _headers = team_model_add_team_model_add_post_with_http_info(team_model_add_request, opts)
1003
+ data
1004
+ end
1005
+
1006
+ # Team Model Add
1007
+ # Add models to a team&#39;s allowed model list. Only proxy admin or team admin can add models. Parameters: - team_id: str - Required. The team to add models to - models: List[str] - Required. List of models to add to the team Example Request: &#x60;&#x60;&#x60; curl --location &#39;http://0.0.0.0:4000/team/model/add&#39; --header &#39;Authorization: Bearer sk-1234&#39; --header &#39;Content-Type: application/json&#39; --data &#39;{ \&quot;team_id\&quot;: \&quot;team-1234\&quot;, \&quot;models\&quot;: [\&quot;gpt-4\&quot;, \&quot;claude-2\&quot;] }&#39; &#x60;&#x60;&#x60;
1008
+ # @param team_model_add_request [TeamModelAddRequest]
1009
+ # @param [Hash] opts the optional parameters
1010
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
1011
+ def team_model_add_team_model_add_post_with_http_info(team_model_add_request, opts = {})
1012
+ if @api_client.config.debugging
1013
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.team_model_add_team_model_add_post ...'
1014
+ end
1015
+ # verify the required parameter 'team_model_add_request' is set
1016
+ if @api_client.config.client_side_validation && team_model_add_request.nil?
1017
+ fail ArgumentError, "Missing the required parameter 'team_model_add_request' when calling TeamManagementApi.team_model_add_team_model_add_post"
1018
+ end
1019
+ # resource path
1020
+ local_var_path = '/team/model/add'
1021
+
1022
+ # query parameters
1023
+ query_params = opts[:query_params] || {}
1024
+
1025
+ # header parameters
1026
+ header_params = opts[:header_params] || {}
1027
+ # HTTP header 'Accept' (if needed)
1028
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1029
+ # HTTP header 'Content-Type'
1030
+ content_type = @api_client.select_header_content_type(['application/json'])
1031
+ if !content_type.nil?
1032
+ header_params['Content-Type'] = content_type
1033
+ end
1034
+
1035
+ # form parameters
1036
+ form_params = opts[:form_params] || {}
1037
+
1038
+ # http body (model)
1039
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(team_model_add_request)
1040
+
1041
+ # return_type
1042
+ return_type = opts[:debug_return_type] || 'Object'
1043
+
1044
+ # auth_names
1045
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
1046
+
1047
+ new_options = opts.merge(
1048
+ :operation => :"TeamManagementApi.team_model_add_team_model_add_post",
1049
+ :header_params => header_params,
1050
+ :query_params => query_params,
1051
+ :form_params => form_params,
1052
+ :body => post_body,
1053
+ :auth_names => auth_names,
1054
+ :return_type => return_type
1055
+ )
1056
+
1057
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1058
+ if @api_client.config.debugging
1059
+ @api_client.config.logger.debug "API called: TeamManagementApi#team_model_add_team_model_add_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1060
+ end
1061
+ return data, status_code, headers
1062
+ end
1063
+
1064
+ # Team Model Delete
1065
+ # Remove models from a team's allowed model list. Only proxy admin or team admin can remove models. Parameters: - team_id: str - Required. The team to remove models from - models: List[str] - Required. List of models to remove from the team Example Request: ``` curl --location 'http://0.0.0.0:4000/team/model/delete' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"team_id\": \"team-1234\", \"models\": [\"gpt-4\"] }' ```
1066
+ # @param team_model_delete_request [TeamModelDeleteRequest]
1067
+ # @param [Hash] opts the optional parameters
1068
+ # @return [Object]
1069
+ def team_model_delete_team_model_delete_post(team_model_delete_request, opts = {})
1070
+ data, _status_code, _headers = team_model_delete_team_model_delete_post_with_http_info(team_model_delete_request, opts)
1071
+ data
1072
+ end
1073
+
1074
+ # Team Model Delete
1075
+ # Remove models from a team&#39;s allowed model list. Only proxy admin or team admin can remove models. Parameters: - team_id: str - Required. The team to remove models from - models: List[str] - Required. List of models to remove from the team Example Request: &#x60;&#x60;&#x60; curl --location &#39;http://0.0.0.0:4000/team/model/delete&#39; --header &#39;Authorization: Bearer sk-1234&#39; --header &#39;Content-Type: application/json&#39; --data &#39;{ \&quot;team_id\&quot;: \&quot;team-1234\&quot;, \&quot;models\&quot;: [\&quot;gpt-4\&quot;] }&#39; &#x60;&#x60;&#x60;
1076
+ # @param team_model_delete_request [TeamModelDeleteRequest]
1077
+ # @param [Hash] opts the optional parameters
1078
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
1079
+ def team_model_delete_team_model_delete_post_with_http_info(team_model_delete_request, opts = {})
1080
+ if @api_client.config.debugging
1081
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.team_model_delete_team_model_delete_post ...'
1082
+ end
1083
+ # verify the required parameter 'team_model_delete_request' is set
1084
+ if @api_client.config.client_side_validation && team_model_delete_request.nil?
1085
+ fail ArgumentError, "Missing the required parameter 'team_model_delete_request' when calling TeamManagementApi.team_model_delete_team_model_delete_post"
1086
+ end
1087
+ # resource path
1088
+ local_var_path = '/team/model/delete'
1089
+
1090
+ # query parameters
1091
+ query_params = opts[:query_params] || {}
1092
+
1093
+ # header parameters
1094
+ header_params = opts[:header_params] || {}
1095
+ # HTTP header 'Accept' (if needed)
1096
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1097
+ # HTTP header 'Content-Type'
1098
+ content_type = @api_client.select_header_content_type(['application/json'])
1099
+ if !content_type.nil?
1100
+ header_params['Content-Type'] = content_type
1101
+ end
1102
+
1103
+ # form parameters
1104
+ form_params = opts[:form_params] || {}
1105
+
1106
+ # http body (model)
1107
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(team_model_delete_request)
1108
+
1109
+ # return_type
1110
+ return_type = opts[:debug_return_type] || 'Object'
1111
+
1112
+ # auth_names
1113
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
1114
+
1115
+ new_options = opts.merge(
1116
+ :operation => :"TeamManagementApi.team_model_delete_team_model_delete_post",
1117
+ :header_params => header_params,
1118
+ :query_params => query_params,
1119
+ :form_params => form_params,
1120
+ :body => post_body,
1121
+ :auth_names => auth_names,
1122
+ :return_type => return_type
1123
+ )
1124
+
1125
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1126
+ if @api_client.config.debugging
1127
+ @api_client.config.logger.debug "API called: TeamManagementApi#team_model_delete_team_model_delete_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1128
+ end
1129
+ return data, status_code, headers
1130
+ end
1131
+
1132
+ # Unblock Team
1133
+ # Blocks all calls from keys with this team id. Parameters: - team_id: str - Required. The unique identifier of the team to unblock. Example: ``` curl --location 'http://0.0.0.0:4000/team/unblock' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"team_id\": \"team-1234\" }' ```
1134
+ # @param block_team_request [BlockTeamRequest]
1135
+ # @param [Hash] opts the optional parameters
1136
+ # @return [Object]
1137
+ def unblock_team_team_unblock_post(block_team_request, opts = {})
1138
+ data, _status_code, _headers = unblock_team_team_unblock_post_with_http_info(block_team_request, opts)
1139
+ data
1140
+ end
1141
+
1142
+ # Unblock Team
1143
+ # Blocks all calls from keys with this team id. Parameters: - team_id: str - Required. The unique identifier of the team to unblock. Example: &#x60;&#x60;&#x60; curl --location &#39;http://0.0.0.0:4000/team/unblock&#39; --header &#39;Authorization: Bearer sk-1234&#39; --header &#39;Content-Type: application/json&#39; --data &#39;{ \&quot;team_id\&quot;: \&quot;team-1234\&quot; }&#39; &#x60;&#x60;&#x60;
1144
+ # @param block_team_request [BlockTeamRequest]
1145
+ # @param [Hash] opts the optional parameters
1146
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
1147
+ def unblock_team_team_unblock_post_with_http_info(block_team_request, opts = {})
1148
+ if @api_client.config.debugging
1149
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.unblock_team_team_unblock_post ...'
1150
+ end
1151
+ # verify the required parameter 'block_team_request' is set
1152
+ if @api_client.config.client_side_validation && block_team_request.nil?
1153
+ fail ArgumentError, "Missing the required parameter 'block_team_request' when calling TeamManagementApi.unblock_team_team_unblock_post"
1154
+ end
1155
+ # resource path
1156
+ local_var_path = '/team/unblock'
1157
+
1158
+ # query parameters
1159
+ query_params = opts[:query_params] || {}
1160
+
1161
+ # header parameters
1162
+ header_params = opts[:header_params] || {}
1163
+ # HTTP header 'Accept' (if needed)
1164
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1165
+ # HTTP header 'Content-Type'
1166
+ content_type = @api_client.select_header_content_type(['application/json'])
1167
+ if !content_type.nil?
1168
+ header_params['Content-Type'] = content_type
1169
+ end
1170
+
1171
+ # form parameters
1172
+ form_params = opts[:form_params] || {}
1173
+
1174
+ # http body (model)
1175
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(block_team_request)
1176
+
1177
+ # return_type
1178
+ return_type = opts[:debug_return_type] || 'Object'
1179
+
1180
+ # auth_names
1181
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
1182
+
1183
+ new_options = opts.merge(
1184
+ :operation => :"TeamManagementApi.unblock_team_team_unblock_post",
1185
+ :header_params => header_params,
1186
+ :query_params => query_params,
1187
+ :form_params => form_params,
1188
+ :body => post_body,
1189
+ :auth_names => auth_names,
1190
+ :return_type => return_type
1191
+ )
1192
+
1193
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1194
+ if @api_client.config.debugging
1195
+ @api_client.config.logger.debug "API called: TeamManagementApi#unblock_team_team_unblock_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1196
+ end
1197
+ return data, status_code, headers
1198
+ end
1199
+
1200
+ # Update Team Member Permissions
1201
+ # Update the team member permissions for a team
1202
+ # @param update_team_member_permissions_request [UpdateTeamMemberPermissionsRequest]
1203
+ # @param [Hash] opts the optional parameters
1204
+ # @return [LiteLLMTeamTable]
1205
+ def update_team_member_permissions_team_permissions_update_post(update_team_member_permissions_request, opts = {})
1206
+ data, _status_code, _headers = update_team_member_permissions_team_permissions_update_post_with_http_info(update_team_member_permissions_request, opts)
1207
+ data
1208
+ end
1209
+
1210
+ # Update Team Member Permissions
1211
+ # Update the team member permissions for a team
1212
+ # @param update_team_member_permissions_request [UpdateTeamMemberPermissionsRequest]
1213
+ # @param [Hash] opts the optional parameters
1214
+ # @return [Array<(LiteLLMTeamTable, Integer, Hash)>] LiteLLMTeamTable data, response status code and response headers
1215
+ def update_team_member_permissions_team_permissions_update_post_with_http_info(update_team_member_permissions_request, opts = {})
1216
+ if @api_client.config.debugging
1217
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.update_team_member_permissions_team_permissions_update_post ...'
1218
+ end
1219
+ # verify the required parameter 'update_team_member_permissions_request' is set
1220
+ if @api_client.config.client_side_validation && update_team_member_permissions_request.nil?
1221
+ fail ArgumentError, "Missing the required parameter 'update_team_member_permissions_request' when calling TeamManagementApi.update_team_member_permissions_team_permissions_update_post"
1222
+ end
1223
+ # resource path
1224
+ local_var_path = '/team/permissions_update'
1225
+
1226
+ # query parameters
1227
+ query_params = opts[:query_params] || {}
1228
+
1229
+ # header parameters
1230
+ header_params = opts[:header_params] || {}
1231
+ # HTTP header 'Accept' (if needed)
1232
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1233
+ # HTTP header 'Content-Type'
1234
+ content_type = @api_client.select_header_content_type(['application/json'])
1235
+ if !content_type.nil?
1236
+ header_params['Content-Type'] = content_type
1237
+ end
1238
+
1239
+ # form parameters
1240
+ form_params = opts[:form_params] || {}
1241
+
1242
+ # http body (model)
1243
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_team_member_permissions_request)
1244
+
1245
+ # return_type
1246
+ return_type = opts[:debug_return_type] || 'LiteLLMTeamTable'
1247
+
1248
+ # auth_names
1249
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
1250
+
1251
+ new_options = opts.merge(
1252
+ :operation => :"TeamManagementApi.update_team_member_permissions_team_permissions_update_post",
1253
+ :header_params => header_params,
1254
+ :query_params => query_params,
1255
+ :form_params => form_params,
1256
+ :body => post_body,
1257
+ :auth_names => auth_names,
1258
+ :return_type => return_type
1259
+ )
1260
+
1261
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1262
+ if @api_client.config.debugging
1263
+ @api_client.config.logger.debug "API called: TeamManagementApi#update_team_member_permissions_team_permissions_update_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1264
+ end
1265
+ return data, status_code, headers
1266
+ end
1267
+
1268
+ # Update Team
1269
+ # Use `/team/member_add` AND `/team/member/delete` to add/remove new team members You can now update team budget / rate limits via /team/update Parameters: - team_id: str - The team id of the user. Required param. - team_alias: Optional[str] - User defined team alias - team_member_permissions: Optional[List[str]] - A list of routes that non-admin team members can access. example: [\"/key/generate\", \"/key/update\", \"/key/delete\"] - metadata: Optional[dict] - Metadata for team, store information for team. Example metadata = {\"team\": \"core-infra\", \"app\": \"app2\", \"email\": \"ishaan@berri.ai\" } - tpm_limit: Optional[int] - The TPM (Tokens Per Minute) limit for this team - all keys with this team_id will have at max this TPM limit - rpm_limit: Optional[int] - The RPM (Requests Per Minute) limit for this team - all keys associated with this team_id will have at max this RPM limit - max_budget: Optional[float] - The maximum budget allocated to the team - all keys for this team_id will have at max this max_budget - budget_duration: Optional[str] - The duration of the budget for the team. Doc [here](https://docs.litellm.ai/docs/proxy/team_budgets) - models: Optional[list] - A list of models associated with the team - all keys for this team_id will have at most, these models. If empty, assumes all models are allowed. - blocked: bool - Flag indicating if the team is blocked or not - will stop all calls from keys with this team_id. - tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - organization_id: Optional[str] - The organization id of the team. Default is None. Create via `/organization/new`. - model_aliases: Optional[dict] - Model aliases for the team. [Docs](https://docs.litellm.ai/docs/proxy/team_based_routing#create-team-with-model-alias) - guardrails: Optional[List[str]] - Guardrails for the team. [Docs](https://docs.litellm.ai/docs/proxy/guardrails) - object_permission: Optional[LiteLLM_ObjectPermissionBase] - team-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission. Example - update team TPM Limit ``` curl --location 'http://0.0.0.0:4000/team/update' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data-raw '{ \"team_id\": \"8d916b1c-510d-4894-a334-1c16a93344f5\", \"tpm_limit\": 100 }' ``` Example - Update Team `max_budget` budget ``` curl --location 'http://0.0.0.0:4000/team/update' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data-raw '{ \"team_id\": \"8d916b1c-510d-4894-a334-1c16a93344f5\", \"max_budget\": 10 }' ```
1270
+ # @param update_team_request [UpdateTeamRequest]
1271
+ # @param [Hash] opts the optional parameters
1272
+ # @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
1273
+ # @return [Object]
1274
+ def update_team_team_update_post(update_team_request, opts = {})
1275
+ data, _status_code, _headers = update_team_team_update_post_with_http_info(update_team_request, opts)
1276
+ data
1277
+ end
1278
+
1279
+ # Update Team
1280
+ # Use &#x60;/team/member_add&#x60; AND &#x60;/team/member/delete&#x60; to add/remove new team members You can now update team budget / rate limits via /team/update Parameters: - team_id: str - The team id of the user. Required param. - team_alias: Optional[str] - User defined team alias - team_member_permissions: Optional[List[str]] - A list of routes that non-admin team members can access. example: [\&quot;/key/generate\&quot;, \&quot;/key/update\&quot;, \&quot;/key/delete\&quot;] - metadata: Optional[dict] - Metadata for team, store information for team. Example metadata &#x3D; {\&quot;team\&quot;: \&quot;core-infra\&quot;, \&quot;app\&quot;: \&quot;app2\&quot;, \&quot;email\&quot;: \&quot;ishaan@berri.ai\&quot; } - tpm_limit: Optional[int] - The TPM (Tokens Per Minute) limit for this team - all keys with this team_id will have at max this TPM limit - rpm_limit: Optional[int] - The RPM (Requests Per Minute) limit for this team - all keys associated with this team_id will have at max this RPM limit - max_budget: Optional[float] - The maximum budget allocated to the team - all keys for this team_id will have at max this max_budget - budget_duration: Optional[str] - The duration of the budget for the team. Doc [here](https://docs.litellm.ai/docs/proxy/team_budgets) - models: Optional[list] - A list of models associated with the team - all keys for this team_id will have at most, these models. If empty, assumes all models are allowed. - blocked: bool - Flag indicating if the team is blocked or not - will stop all calls from keys with this team_id. - tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - organization_id: Optional[str] - The organization id of the team. Default is None. Create via &#x60;/organization/new&#x60;. - model_aliases: Optional[dict] - Model aliases for the team. [Docs](https://docs.litellm.ai/docs/proxy/team_based_routing#create-team-with-model-alias) - guardrails: Optional[List[str]] - Guardrails for the team. [Docs](https://docs.litellm.ai/docs/proxy/guardrails) - object_permission: Optional[LiteLLM_ObjectPermissionBase] - team-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. Example - update team TPM Limit &#x60;&#x60;&#x60; curl --location &#39;http://0.0.0.0:4000/team/update&#39; --header &#39;Authorization: Bearer sk-1234&#39; --header &#39;Content-Type: application/json&#39; --data-raw &#39;{ \&quot;team_id\&quot;: \&quot;8d916b1c-510d-4894-a334-1c16a93344f5\&quot;, \&quot;tpm_limit\&quot;: 100 }&#39; &#x60;&#x60;&#x60; Example - Update Team &#x60;max_budget&#x60; budget &#x60;&#x60;&#x60; curl --location &#39;http://0.0.0.0:4000/team/update&#39; --header &#39;Authorization: Bearer sk-1234&#39; --header &#39;Content-Type: application/json&#39; --data-raw &#39;{ \&quot;team_id\&quot;: \&quot;8d916b1c-510d-4894-a334-1c16a93344f5\&quot;, \&quot;max_budget\&quot;: 10 }&#39; &#x60;&#x60;&#x60;
1281
+ # @param update_team_request [UpdateTeamRequest]
1282
+ # @param [Hash] opts the optional parameters
1283
+ # @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
1284
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
1285
+ def update_team_team_update_post_with_http_info(update_team_request, opts = {})
1286
+ if @api_client.config.debugging
1287
+ @api_client.config.logger.debug 'Calling API: TeamManagementApi.update_team_team_update_post ...'
1288
+ end
1289
+ # verify the required parameter 'update_team_request' is set
1290
+ if @api_client.config.client_side_validation && update_team_request.nil?
1291
+ fail ArgumentError, "Missing the required parameter 'update_team_request' when calling TeamManagementApi.update_team_team_update_post"
1292
+ end
1293
+ # resource path
1294
+ local_var_path = '/team/update'
1295
+
1296
+ # query parameters
1297
+ query_params = opts[:query_params] || {}
1298
+
1299
+ # header parameters
1300
+ header_params = opts[:header_params] || {}
1301
+ # HTTP header 'Accept' (if needed)
1302
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1303
+ # HTTP header 'Content-Type'
1304
+ content_type = @api_client.select_header_content_type(['application/json'])
1305
+ if !content_type.nil?
1306
+ header_params['Content-Type'] = content_type
1307
+ end
1308
+ header_params[:'litellm-changed-by'] = opts[:'litellm_changed_by'] if !opts[:'litellm_changed_by'].nil?
1309
+
1310
+ # form parameters
1311
+ form_params = opts[:form_params] || {}
1312
+
1313
+ # http body (model)
1314
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_team_request)
1315
+
1316
+ # return_type
1317
+ return_type = opts[:debug_return_type] || 'Object'
1318
+
1319
+ # auth_names
1320
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
1321
+
1322
+ new_options = opts.merge(
1323
+ :operation => :"TeamManagementApi.update_team_team_update_post",
1324
+ :header_params => header_params,
1325
+ :query_params => query_params,
1326
+ :form_params => form_params,
1327
+ :body => post_body,
1328
+ :auth_names => auth_names,
1329
+ :return_type => return_type
1330
+ )
1331
+
1332
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1333
+ if @api_client.config.debugging
1334
+ @api_client.config.logger.debug "API called: TeamManagementApi#update_team_team_update_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1335
+ end
1336
+ return data, status_code, headers
1337
+ end
1338
+ end
1339
+ end