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.
- checksums.yaml +7 -0
- data/Gemfile +9 -0
- data/README.md +741 -0
- data/Rakefile +10 -0
- data/docs/AddTeamCallback.md +22 -0
- data/docs/Annotations.md +15 -0
- data/docs/AnthropicPassThroughApi.md +367 -0
- data/docs/ApiBase.md +15 -0
- data/docs/ApiKey.md +15 -0
- data/docs/ApiVersion.md +15 -0
- data/docs/ApplyGuardrailRequest.md +24 -0
- data/docs/ApplyGuardrailResponse.md +18 -0
- data/docs/AssemblyAIEUPassThroughApi.md +357 -0
- data/docs/AssemblyAIPassThroughApi.md +357 -0
- data/docs/AssistantsApi.md +1141 -0
- data/docs/AudioApi.md +289 -0
- data/docs/AuditLogResponse.md +34 -0
- data/docs/AuditLoggingApi.md +173 -0
- data/docs/AwsAccessKeyId.md +15 -0
- data/docs/AwsRegionName.md +15 -0
- data/docs/AwsSecretAccessKey.md +15 -0
- data/docs/AzurePassThroughApi.md +367 -0
- data/docs/BaseModel.md +15 -0
- data/docs/BatchApi.md +913 -0
- data/docs/BatchSize.md +15 -0
- data/docs/BedrockPassThroughApi.md +367 -0
- data/docs/BlockKeyRequest.md +18 -0
- data/docs/BlockTeamRequest.md +18 -0
- data/docs/BlockUsers.md +18 -0
- data/docs/BodyTestModelConnectionHealthTestConnectionPost.md +20 -0
- data/docs/BreakdownMetrics.md +24 -0
- data/docs/BudgetConfig.md +24 -0
- data/docs/BudgetDeleteRequest.md +18 -0
- data/docs/BudgetDuration.md +15 -0
- data/docs/BudgetManagementApi.md +436 -0
- data/docs/BudgetNewRequest.md +34 -0
- data/docs/BudgetRequest.md +18 -0
- data/docs/BudgetSpendTrackingApi.md +694 -0
- data/docs/Bytes.md +15 -0
- data/docs/CacheControl.md +18 -0
- data/docs/CachePingResponse.md +28 -0
- data/docs/CachingApi.md +421 -0
- data/docs/CallTypes.md +15 -0
- data/docs/ChatCompletionAnnotation.md +20 -0
- data/docs/ChatCompletionAnnotationURLCitation.md +24 -0
- data/docs/ChatCompletionAudioResponse.md +24 -0
- data/docs/ChatCompletionCachedContent.md +18 -0
- data/docs/ChatCompletionRedactedThinkingBlock.md +22 -0
- data/docs/ChatCompletionThinkingBlock.md +24 -0
- data/docs/ChatCompletionTokenLogprob.md +24 -0
- data/docs/ChatCompletionsApi.md +299 -0
- data/docs/ChoiceLogprobs.md +18 -0
- data/docs/Choices.md +26 -0
- data/docs/Choices1Inner.md +26 -0
- data/docs/CoherePassThroughApi.md +367 -0
- data/docs/CompletionsApi.md +299 -0
- data/docs/ConfigurableClientsideAuthParams.md +15 -0
- data/docs/ConfigurableClientsideAuthParamsAnyOfInner.md +18 -0
- data/docs/ConfigurableClientsideParamsCustomAuth.md +18 -0
- data/docs/Content.md +15 -0
- data/docs/Content1.md +15 -0
- data/docs/CreateCredentialItem.md +24 -0
- data/docs/CreateGuardrailRequest.md +18 -0
- data/docs/CreatedAt.md +15 -0
- data/docs/CreatedBy.md +15 -0
- data/docs/CredentialItem.md +22 -0
- data/docs/CredentialManagementApi.md +444 -0
- data/docs/CustomLlmProvider.md +15 -0
- data/docs/CustomLlmProvider1.md +15 -0
- data/docs/CustomerManagementApi.md +508 -0
- data/docs/DailySpendData.md +22 -0
- data/docs/DailySpendMetadata.md +40 -0
- data/docs/DefaultApi.md +811 -0
- data/docs/DefaultInternalUserParams.md +24 -0
- data/docs/DefaultTeamSSOParams.md +26 -0
- data/docs/DefaultTeamSettingsResponse.md +20 -0
- data/docs/DeleteCustomerRequest.md +18 -0
- data/docs/DeleteOrganizationRequest.md +18 -0
- data/docs/DeleteTeamRequest.md +18 -0
- data/docs/DeleteUserRequest.md +18 -0
- data/docs/Deployment.md +22 -0
- data/docs/Description.md +15 -0
- data/docs/Destructivehint.md +15 -0
- data/docs/EmailEvent.md +15 -0
- data/docs/EmailEventSettings.md +20 -0
- data/docs/EmailEventSettingsResponse.md +18 -0
- data/docs/EmailEventSettingsUpdateRequest.md +18 -0
- data/docs/EmailManagementApi.md +217 -0
- data/docs/EmbeddingsApi.md +299 -0
- data/docs/Endtime.md +15 -0
- data/docs/ErrorResponse.md +18 -0
- data/docs/Expires.md +15 -0
- data/docs/FilesApi.md +1165 -0
- data/docs/FineTuningApi.md +607 -0
- data/docs/FunctionCall.md +20 -0
- data/docs/GenerateKeyRequest.md +74 -0
- data/docs/GenerateKeyResponse.md +88 -0
- data/docs/GetTeamMemberPermissionsResponse.md +22 -0
- data/docs/GoogleAIStudioPassThroughApi.md +332 -0
- data/docs/Guardrail.md +28 -0
- data/docs/GuardrailInfoLiteLLMParamsResponse.md +24 -0
- data/docs/GuardrailInfoResponse.md +30 -0
- data/docs/GuardrailsApi.md +791 -0
- data/docs/HTTPValidationError.md +18 -0
- data/docs/HealthApi.md +820 -0
- data/docs/Hyperparameters.md +22 -0
- data/docs/IPAddress.md +18 -0
- data/docs/Id.md +15 -0
- data/docs/Idempotenthint.md +15 -0
- data/docs/ImagesApi.md +455 -0
- data/docs/InputCostPerPixel.md +15 -0
- data/docs/InputCostPerSecond.md +15 -0
- data/docs/InputCostPerToken.md +15 -0
- data/docs/Integrations.md +15 -0
- data/docs/InternalUserManagementApi.md +475 -0
- data/docs/InternalUserSettingsResponse.md +20 -0
- data/docs/KeyHealthResponse.md +20 -0
- data/docs/KeyListResponseObject.md +24 -0
- data/docs/KeyListResponseObjectKeysInner.md +134 -0
- data/docs/KeyManagementApi.md +780 -0
- data/docs/KeyMetadata.md +20 -0
- data/docs/KeyMetricWithMetadata.md +20 -0
- data/docs/KeyRequest.md +20 -0
- data/docs/LakeraCategoryThresholds.md +20 -0
- data/docs/LangfusePassThroughApi.md +332 -0
- data/docs/LearningRateMultiplier.md +15 -0
- data/docs/ListGuardrailsResponse.md +18 -0
- data/docs/ListMCPToolsRestAPIResponseObject.md +26 -0
- data/docs/ListMCPToolsRestAPIResponseObjectAnnotations.md +26 -0
- data/docs/ListMCPToolsRestAPIResponseObjectMcpInfo.md +22 -0
- data/docs/LiteLLMBudgetTable.md +32 -0
- data/docs/LiteLLMEndUserTable.md +30 -0
- data/docs/LiteLLMFineTuningJobCreate.md +32 -0
- data/docs/LiteLLMFineTuningJobCreateHyperparameters.md +22 -0
- data/docs/LiteLLMMCPServerTable.md +38 -0
- data/docs/LiteLLMManagedVectorStore.md +32 -0
- data/docs/LiteLLMManagedVectorStoreListResponse.md +26 -0
- data/docs/LiteLLMModelTable.md +26 -0
- data/docs/LiteLLMObjectPermissionBase.md +20 -0
- data/docs/LiteLLMObjectPermissionTable.md +22 -0
- data/docs/LiteLLMOrganizationMembershipTable.md +34 -0
- data/docs/LiteLLMOrganizationTableUpdate.md +32 -0
- data/docs/LiteLLMOrganizationTableWithMembers.md +48 -0
- data/docs/LiteLLMParams.md +88 -0
- data/docs/LiteLLMSpendLogs.md +54 -0
- data/docs/LiteLLMTeamMembership.md +24 -0
- data/docs/LiteLLMTeamTable.md +62 -0
- data/docs/LiteLLMUserTable.md +56 -0
- data/docs/LiteLLMUserTableWithKeyCount.md +58 -0
- data/docs/LiteLLMVerificationToken.md +80 -0
- data/docs/LitellmCredentialName.md +15 -0
- data/docs/LitellmParams.md +92 -0
- data/docs/LitellmTraceId.md +15 -0
- data/docs/LitellmUserRoles.md +15 -0
- data/docs/LlmUtilsApi.md +219 -0
- data/docs/LoggingCallbackStatus.md +22 -0
- data/docs/Logprobs.md +18 -0
- data/docs/MCPInfo.md +22 -0
- data/docs/MaxBudget.md +15 -0
- data/docs/MaxFileSizeMb.md +15 -0
- data/docs/MaxRetries.md +15 -0
- data/docs/McpApi.md +519 -0
- data/docs/Member.md +22 -0
- data/docs/Member1.md +22 -0
- data/docs/Member2.md +22 -0
- data/docs/MergeReasoningContentInChoices.md +15 -0
- data/docs/Message.md +34 -0
- data/docs/MessageAudio.md +24 -0
- data/docs/MessageFunctionCall.md +20 -0
- data/docs/Messages.md +15 -0
- data/docs/MetricWithMetadata.md +20 -0
- data/docs/MistralPassThroughApi.md +367 -0
- data/docs/MockResponse.md +28 -0
- data/docs/Mode.md +15 -0
- data/docs/Mode1.md +15 -0
- data/docs/Model.md +15 -0
- data/docs/ModelAliases.md +15 -0
- data/docs/ModelInfo.md +15 -0
- data/docs/ModelInfoDelete.md +18 -0
- data/docs/ModelManagementApi.md +679 -0
- data/docs/ModelResponse.md +28 -0
- data/docs/ModerationsApi.md +145 -0
- data/docs/NEpochs.md +15 -0
- data/docs/Name.md +15 -0
- data/docs/NewCustomerRequest.md +46 -0
- data/docs/NewMCPServerRequest.md +30 -0
- data/docs/NewOrganizationRequest.md +42 -0
- data/docs/NewOrganizationResponse.md +44 -0
- data/docs/NewTeamRequest.md +52 -0
- data/docs/NewUserRequest.md +76 -0
- data/docs/NewUserResponse.md +96 -0
- data/docs/OpenAIPassThroughApi.md +367 -0
- data/docs/Openworldhint.md +15 -0
- data/docs/OrgMember.md +22 -0
- data/docs/Organization.md +15 -0
- data/docs/OrganizationAddMemberResponse.md +22 -0
- data/docs/OrganizationManagementApi.md +652 -0
- data/docs/OrganizationMemberAddRequest.md +22 -0
- data/docs/OrganizationMemberDeleteRequest.md +22 -0
- data/docs/OrganizationMemberUpdateRequest.md +26 -0
- data/docs/OrganizationRequest.md +18 -0
- data/docs/OutputCostPerPixel.md +15 -0
- data/docs/OutputCostPerSecond.md +15 -0
- data/docs/OutputCostPerToken.md +15 -0
- data/docs/PaginatedAuditLogResponse.md +26 -0
- data/docs/PassThroughApi.md +4562 -0
- data/docs/PassThroughEndpointResponse.md +18 -0
- data/docs/PassThroughGenericEndpoint.md +22 -0
- data/docs/PatchGuardrailLitellmParams.md +20 -0
- data/docs/PatchGuardrailRequest.md +22 -0
- data/docs/PiiAction.md +15 -0
- data/docs/PiiEntityType.md +15 -0
- data/docs/ProviderBudgetResponse.md +18 -0
- data/docs/ProviderBudgetResponseObject.md +24 -0
- data/docs/ProviderSpecificFields.md +15 -0
- data/docs/RawRequestTypedDict.md +24 -0
- data/docs/Readonlyhint.md +15 -0
- data/docs/ReasoningContent.md +15 -0
- data/docs/RegenerateKeyRequest.md +76 -0
- data/docs/RegionName.md +15 -0
- data/docs/RerankApi.md +208 -0
- data/docs/Resources.md +15 -0
- data/docs/Response.md +15 -0
- data/docs/ResponsesApi.md +577 -0
- data/docs/Rpm.md +15 -0
- data/docs/SCIMGroup.md +28 -0
- data/docs/SCIMListResponse.md +26 -0
- data/docs/SCIMMember.md +20 -0
- data/docs/SCIMPatchOp.md +20 -0
- data/docs/SCIMPatchOperation.md +22 -0
- data/docs/SCIMUser.md +36 -0
- data/docs/SCIMUserEmail.md +22 -0
- data/docs/SCIMUserGroup.md +22 -0
- data/docs/SCIMUserName.md +28 -0
- data/docs/SCIMV2Api.md +889 -0
- data/docs/SSOConfig.md +40 -0
- data/docs/SSOSettingsApi.md +430 -0
- data/docs/SSOSettingsResponse.md +20 -0
- data/docs/Seed.md +15 -0
- data/docs/Service.md +15 -0
- data/docs/SpendAnalyticsPaginatedResponse.md +20 -0
- data/docs/SpendCalculateRequest.md +22 -0
- data/docs/SpendMetrics.md +34 -0
- data/docs/Starttime.md +15 -0
- data/docs/StreamTimeout.md +15 -0
- data/docs/Suffix.md +15 -0
- data/docs/SystemFingerprint.md +15 -0
- data/docs/TagConfig.md +30 -0
- data/docs/TagDeleteRequest.md +18 -0
- data/docs/TagInfoRequest.md +18 -0
- data/docs/TagManagementApi.md +450 -0
- data/docs/TagNewRequest.md +24 -0
- data/docs/TagUpdateRequest.md +24 -0
- data/docs/TeamAddMemberResponse.md +66 -0
- data/docs/TeamId.md +15 -0
- data/docs/TeamListResponse.md +26 -0
- data/docs/TeamManagementApi.md +1433 -0
- data/docs/TeamMemberAddRequest.md +22 -0
- data/docs/TeamMemberDeleteRequest.md +22 -0
- data/docs/TeamMemberUpdateRequest.md +26 -0
- data/docs/TeamMemberUpdateResponse.md +24 -0
- data/docs/TeamModelAddRequest.md +20 -0
- data/docs/TeamModelDeleteRequest.md +20 -0
- data/docs/TeamPublicModelName.md +15 -0
- data/docs/ThinkingBlocks.md +15 -0
- data/docs/ThinkingBlocksAnyOfInner.md +26 -0
- data/docs/Tier.md +15 -0
- data/docs/Timeout.md +15 -0
- data/docs/Title.md +15 -0
- data/docs/TokenCountRequest.md +22 -0
- data/docs/TokenCountResponse.md +24 -0
- data/docs/ToolAnnotations.md +26 -0
- data/docs/ToolCalls.md +15 -0
- data/docs/TopLogprob.md +22 -0
- data/docs/Tpm.md +15 -0
- data/docs/TransformRequestBody.md +20 -0
- data/docs/UiDiscoveryEndpoints.md +20 -0
- data/docs/UpdateCustomerRequest.md +30 -0
- data/docs/UpdateDeployment.md +22 -0
- data/docs/UpdateGuardrailRequest.md +18 -0
- data/docs/UpdateKeyRequest.md +74 -0
- data/docs/UpdateLiteLLMParams.md +88 -0
- data/docs/UpdateMCPServerRequest.md +30 -0
- data/docs/UpdateTeamMemberPermissionsRequest.md +20 -0
- data/docs/UpdateTeamRequest.md +44 -0
- data/docs/UpdateUserRequest.md +66 -0
- data/docs/UpdatedAt.md +15 -0
- data/docs/UpdatedBy.md +15 -0
- data/docs/UseInPassThrough.md +15 -0
- data/docs/UseLitellmProxy.md +15 -0
- data/docs/UserAPIKeyAuth.md +134 -0
- data/docs/UserListResponse.md +26 -0
- data/docs/VLLMPassThroughApi.md +367 -0
- data/docs/ValidationError.md +22 -0
- data/docs/ValidationErrorLocInner.md +15 -0
- data/docs/ValidationFile.md +15 -0
- data/docs/VectorStoreDeleteRequest.md +18 -0
- data/docs/VectorStoreManagementApi.md +227 -0
- data/docs/VectorStoreMetadata.md +15 -0
- data/docs/VertexAIPassThroughApi.md +692 -0
- data/docs/VertexCredentials.md +15 -0
- data/docs/VertexLocation.md +15 -0
- data/docs/VertexProject.md +15 -0
- data/docs/WatsonxRegionName.md +15 -0
- data/git_push.sh +57 -0
- data/lib/litellm_client/api/anthropic_pass_through_api.rb +337 -0
- data/lib/litellm_client/api/assembly_ai_pass_through_api.rb +327 -0
- data/lib/litellm_client/api/assembly_aieu_pass_through_api.rb +327 -0
- data/lib/litellm_client/api/assistants_api.rb +994 -0
- data/lib/litellm_client/api/audio_api.rb +274 -0
- data/lib/litellm_client/api/audit_logging_api.rb +187 -0
- data/lib/litellm_client/api/azure_pass_through_api.rb +337 -0
- data/lib/litellm_client/api/batch_api.rb +792 -0
- data/lib/litellm_client/api/bedrock_pass_through_api.rb +337 -0
- data/lib/litellm_client/api/budget_management_api.rb +415 -0
- data/lib/litellm_client/api/budget_spend_tracking_api.rb +649 -0
- data/lib/litellm_client/api/caching_api.rb +364 -0
- data/lib/litellm_client/api/chat_completions_api.rb +260 -0
- data/lib/litellm_client/api/cohere_pass_through_api.rb +337 -0
- data/lib/litellm_client/api/completions_api.rb +260 -0
- data/lib/litellm_client/api/credential_management_api.rb +415 -0
- data/lib/litellm_client/api/customer_management_api.rb +483 -0
- data/lib/litellm_client/api/default_api.rb +728 -0
- data/lib/litellm_client/api/email_management_api.rb +204 -0
- data/lib/litellm_client/api/embeddings_api.rb +260 -0
- data/lib/litellm_client/api/files_api.rb +1064 -0
- data/lib/litellm_client/api/fine_tuning_api.rb +570 -0
- data/lib/litellm_client/api/google_ai_studio_pass_through_api.rb +337 -0
- data/lib/litellm_client/api/guardrails_api.rb +723 -0
- data/lib/litellm_client/api/health_api.rb +723 -0
- data/lib/litellm_client/api/images_api.rb +419 -0
- data/lib/litellm_client/api/internal_user_management_api.rb +472 -0
- data/lib/litellm_client/api/key_management_api.rb +735 -0
- data/lib/litellm_client/api/langfuse_pass_through_api.rb +337 -0
- data/lib/litellm_client/api/llm_utils_api.rb +218 -0
- data/lib/litellm_client/api/mcp_api.rb +467 -0
- data/lib/litellm_client/api/mistral_pass_through_api.rb +337 -0
- data/lib/litellm_client/api/model_management_api.rb +618 -0
- data/lib/litellm_client/api/moderations_api.rb +136 -0
- data/lib/litellm_client/api/open_ai_pass_through_api.rb +337 -0
- data/lib/litellm_client/api/organization_management_api.rb +619 -0
- data/lib/litellm_client/api/pass_through_api.rb +4097 -0
- data/lib/litellm_client/api/rerank_api.rb +187 -0
- data/lib/litellm_client/api/responses_api.rb +514 -0
- data/lib/litellm_client/api/scimv2_api.rb +862 -0
- data/lib/litellm_client/api/sso_settings_api.rb +397 -0
- data/lib/litellm_client/api/tag_management_api.rb +429 -0
- data/lib/litellm_client/api/team_management_api.rb +1339 -0
- data/lib/litellm_client/api/vector_store_management_api.rb +221 -0
- data/lib/litellm_client/api/vertex_ai_pass_through_api.rb +652 -0
- data/lib/litellm_client/api/vllm_pass_through_api.rb +337 -0
- data/lib/litellm_client/api_client.rb +393 -0
- data/lib/litellm_client/api_error.rb +58 -0
- data/lib/litellm_client/configuration.rb +308 -0
- data/lib/litellm_client/models/add_team_callback.rb +309 -0
- data/lib/litellm_client/models/annotations.rb +104 -0
- data/lib/litellm_client/models/api_base.rb +104 -0
- data/lib/litellm_client/models/api_key.rb +104 -0
- data/lib/litellm_client/models/api_version.rb +104 -0
- data/lib/litellm_client/models/apply_guardrail_request.rb +285 -0
- data/lib/litellm_client/models/apply_guardrail_response.rb +237 -0
- data/lib/litellm_client/models/audit_log_response.rb +418 -0
- data/lib/litellm_client/models/aws_access_key_id.rb +104 -0
- data/lib/litellm_client/models/aws_region_name.rb +104 -0
- data/lib/litellm_client/models/aws_secret_access_key.rb +104 -0
- data/lib/litellm_client/models/base_model.rb +104 -0
- data/lib/litellm_client/models/batch_size.rb +104 -0
- data/lib/litellm_client/models/block_key_request.rb +237 -0
- data/lib/litellm_client/models/block_team_request.rb +237 -0
- data/lib/litellm_client/models/block_users.rb +239 -0
- data/lib/litellm_client/models/body_test_model_connection_health_test_connection_post.rb +267 -0
- data/lib/litellm_client/models/breakdown_metrics.rb +256 -0
- data/lib/litellm_client/models/budget_config.rb +251 -0
- data/lib/litellm_client/models/budget_delete_request.rb +237 -0
- data/lib/litellm_client/models/budget_duration.rb +104 -0
- data/lib/litellm_client/models/budget_new_request.rb +303 -0
- data/lib/litellm_client/models/budget_request.rb +239 -0
- data/lib/litellm_client/models/bytes.rb +104 -0
- data/lib/litellm_client/models/cache_control.rb +104 -0
- data/lib/litellm_client/models/cache_ping_response.rb +305 -0
- data/lib/litellm_client/models/call_types.rb +102 -0
- data/lib/litellm_client/models/chat_completion_annotation.rb +263 -0
- data/lib/litellm_client/models/chat_completion_annotation_url_citation.rb +247 -0
- data/lib/litellm_client/models/chat_completion_audio_response.rb +315 -0
- data/lib/litellm_client/models/chat_completion_cached_content.rb +261 -0
- data/lib/litellm_client/models/chat_completion_redacted_thinking_block.rb +280 -0
- data/lib/litellm_client/models/chat_completion_thinking_block.rb +289 -0
- data/lib/litellm_client/models/chat_completion_token_logprob.rb +300 -0
- data/lib/litellm_client/models/choice_logprobs.rb +220 -0
- data/lib/litellm_client/models/choices.rb +307 -0
- data/lib/litellm_client/models/choices1_inner.rb +104 -0
- data/lib/litellm_client/models/configurable_clientside_auth_params.rb +104 -0
- data/lib/litellm_client/models/configurable_clientside_auth_params_any_of_inner.rb +104 -0
- data/lib/litellm_client/models/configurable_clientside_params_custom_auth.rb +237 -0
- data/lib/litellm_client/models/content.rb +104 -0
- data/lib/litellm_client/models/content1.rb +104 -0
- data/lib/litellm_client/models/create_credential_item.rb +287 -0
- data/lib/litellm_client/models/create_guardrail_request.rb +237 -0
- data/lib/litellm_client/models/created_at.rb +104 -0
- data/lib/litellm_client/models/created_by.rb +104 -0
- data/lib/litellm_client/models/credential_item.rb +293 -0
- data/lib/litellm_client/models/custom_llm_provider.rb +104 -0
- data/lib/litellm_client/models/custom_llm_provider1.rb +104 -0
- data/lib/litellm_client/models/daily_spend_data.rb +272 -0
- data/lib/litellm_client/models/daily_spend_metadata.rb +343 -0
- data/lib/litellm_client/models/default_internal_user_params.rb +288 -0
- data/lib/litellm_client/models/default_team_settings_response.rb +268 -0
- data/lib/litellm_client/models/default_team_sso_params.rb +264 -0
- data/lib/litellm_client/models/delete_customer_request.rb +240 -0
- data/lib/litellm_client/models/delete_organization_request.rb +239 -0
- data/lib/litellm_client/models/delete_team_request.rb +239 -0
- data/lib/litellm_client/models/delete_user_request.rb +239 -0
- data/lib/litellm_client/models/deployment.rb +289 -0
- data/lib/litellm_client/models/description.rb +104 -0
- data/lib/litellm_client/models/destructivehint.rb +104 -0
- data/lib/litellm_client/models/email_event.rb +40 -0
- data/lib/litellm_client/models/email_event_settings.rb +285 -0
- data/lib/litellm_client/models/email_event_settings_response.rb +239 -0
- data/lib/litellm_client/models/email_event_settings_update_request.rb +239 -0
- data/lib/litellm_client/models/endtime.rb +104 -0
- data/lib/litellm_client/models/error_response.rb +239 -0
- data/lib/litellm_client/models/expires.rb +104 -0
- data/lib/litellm_client/models/function_call.rb +246 -0
- data/lib/litellm_client/models/generate_key_request.rb +527 -0
- data/lib/litellm_client/models/generate_key_response.rb +613 -0
- data/lib/litellm_client/models/get_team_member_permissions_response.rb +278 -0
- data/lib/litellm_client/models/guardrail.rb +271 -0
- data/lib/litellm_client/models/guardrail_info_lite_llm_params_response.rb +286 -0
- data/lib/litellm_client/models/guardrail_info_response.rb +334 -0
- data/lib/litellm_client/models/http_validation_error.rb +222 -0
- data/lib/litellm_client/models/hyperparameters.rb +241 -0
- data/lib/litellm_client/models/id.rb +104 -0
- data/lib/litellm_client/models/idempotenthint.rb +104 -0
- data/lib/litellm_client/models/input_cost_per_pixel.rb +104 -0
- data/lib/litellm_client/models/input_cost_per_second.rb +104 -0
- data/lib/litellm_client/models/input_cost_per_token.rb +104 -0
- data/lib/litellm_client/models/integrations.rb +104 -0
- data/lib/litellm_client/models/internal_user_settings_response.rb +268 -0
- data/lib/litellm_client/models/ip_address.rb +237 -0
- data/lib/litellm_client/models/key_health_response.rb +264 -0
- data/lib/litellm_client/models/key_list_response_object.rb +252 -0
- data/lib/litellm_client/models/key_list_response_object_keys_inner.rb +104 -0
- data/lib/litellm_client/models/key_metadata.rb +232 -0
- data/lib/litellm_client/models/key_metric_with_metadata.rb +247 -0
- data/lib/litellm_client/models/key_request.rb +235 -0
- data/lib/litellm_client/models/lakera_category_thresholds.rb +229 -0
- data/lib/litellm_client/models/learning_rate_multiplier.rb +104 -0
- data/lib/litellm_client/models/list_guardrails_response.rb +239 -0
- data/lib/litellm_client/models/list_mcp_tools_rest_api_response_object.rb +293 -0
- data/lib/litellm_client/models/list_mcp_tools_rest_api_response_object_annotations.rb +104 -0
- data/lib/litellm_client/models/list_mcp_tools_rest_api_response_object_mcp_info.rb +104 -0
- data/lib/litellm_client/models/lite_llm_budget_table.rb +294 -0
- data/lib/litellm_client/models/lite_llm_end_user_table.rb +348 -0
- data/lib/litellm_client/models/lite_llm_fine_tuning_job_create.rb +317 -0
- data/lib/litellm_client/models/lite_llm_fine_tuning_job_create_hyperparameters.rb +104 -0
- data/lib/litellm_client/models/lite_llm_managed_vector_store.rb +290 -0
- data/lib/litellm_client/models/lite_llm_managed_vector_store_list_response.rb +296 -0
- data/lib/litellm_client/models/lite_llm_model_table.rb +293 -0
- data/lib/litellm_client/models/lite_llm_object_permission_base.rb +235 -0
- data/lib/litellm_client/models/lite_llm_object_permission_table.rb +262 -0
- data/lib/litellm_client/models/lite_llm_organization_membership_table.rb +367 -0
- data/lib/litellm_client/models/lite_llm_organization_table_update.rb +296 -0
- data/lib/litellm_client/models/lite_llm_organization_table_with_members.rb +477 -0
- data/lib/litellm_client/models/lite_llm_params.rb +553 -0
- data/lib/litellm_client/models/lite_llm_spend_logs.rb +457 -0
- data/lib/litellm_client/models/lite_llm_team_membership.rb +285 -0
- data/lib/litellm_client/models/lite_llm_team_table.rb +466 -0
- data/lib/litellm_client/models/lite_llm_user_table.rb +438 -0
- data/lib/litellm_client/models/lite_llm_user_table_with_key_count.rb +449 -0
- data/lib/litellm_client/models/lite_llm_verification_token.rb +546 -0
- data/lib/litellm_client/models/lite_llmmcp_server_table.rb +424 -0
- data/lib/litellm_client/models/litellm_credential_name.rb +104 -0
- data/lib/litellm_client/models/litellm_params.rb +632 -0
- data/lib/litellm_client/models/litellm_trace_id.rb +104 -0
- data/lib/litellm_client/models/litellm_user_roles.rb +45 -0
- data/lib/litellm_client/models/logging_callback_status.rb +275 -0
- data/lib/litellm_client/models/logprobs.rb +105 -0
- data/lib/litellm_client/models/max_budget.rb +104 -0
- data/lib/litellm_client/models/max_file_size_mb.rb +104 -0
- data/lib/litellm_client/models/max_retries.rb +104 -0
- data/lib/litellm_client/models/mcp_info.rb +240 -0
- data/lib/litellm_client/models/member.rb +281 -0
- data/lib/litellm_client/models/member1.rb +104 -0
- data/lib/litellm_client/models/member2.rb +104 -0
- data/lib/litellm_client/models/merge_reasoning_content_in_choices.rb +104 -0
- data/lib/litellm_client/models/message.rb +384 -0
- data/lib/litellm_client/models/message_audio.rb +104 -0
- data/lib/litellm_client/models/message_function_call.rb +104 -0
- data/lib/litellm_client/models/messages.rb +105 -0
- data/lib/litellm_client/models/metric_with_metadata.rb +248 -0
- data/lib/litellm_client/models/mock_response.rb +106 -0
- data/lib/litellm_client/models/mode.rb +104 -0
- data/lib/litellm_client/models/mode1.rb +105 -0
- data/lib/litellm_client/models/model.rb +104 -0
- data/lib/litellm_client/models/model_aliases.rb +104 -0
- data/lib/litellm_client/models/model_info.rb +104 -0
- data/lib/litellm_client/models/model_info_delete.rb +237 -0
- data/lib/litellm_client/models/model_response.rb +335 -0
- data/lib/litellm_client/models/n_epochs.rb +104 -0
- data/lib/litellm_client/models/name.rb +104 -0
- data/lib/litellm_client/models/new_customer_request.rb +415 -0
- data/lib/litellm_client/models/new_mcp_server_request.rb +357 -0
- data/lib/litellm_client/models/new_organization_request.rb +362 -0
- data/lib/litellm_client/models/new_organization_response.rb +470 -0
- data/lib/litellm_client/models/new_team_request.rb +406 -0
- data/lib/litellm_client/models/new_user_request.rb +570 -0
- data/lib/litellm_client/models/new_user_response.rb +689 -0
- data/lib/litellm_client/models/openworldhint.rb +104 -0
- data/lib/litellm_client/models/org_member.rb +281 -0
- data/lib/litellm_client/models/organization.rb +104 -0
- data/lib/litellm_client/models/organization_add_member_response.rb +293 -0
- data/lib/litellm_client/models/organization_member_add_request.rb +273 -0
- data/lib/litellm_client/models/organization_member_delete_request.rb +257 -0
- data/lib/litellm_client/models/organization_member_update_request.rb +299 -0
- data/lib/litellm_client/models/organization_request.rb +239 -0
- data/lib/litellm_client/models/output_cost_per_pixel.rb +104 -0
- data/lib/litellm_client/models/output_cost_per_second.rb +104 -0
- data/lib/litellm_client/models/output_cost_per_token.rb +104 -0
- data/lib/litellm_client/models/paginated_audit_log_response.rb +348 -0
- data/lib/litellm_client/models/pass_through_endpoint_response.rb +239 -0
- data/lib/litellm_client/models/pass_through_generic_endpoint.rb +294 -0
- data/lib/litellm_client/models/patch_guardrail_litellm_params.rb +233 -0
- data/lib/litellm_client/models/patch_guardrail_request.rb +243 -0
- data/lib/litellm_client/models/pii_action.rb +40 -0
- data/lib/litellm_client/models/pii_entity_type.rb +77 -0
- data/lib/litellm_client/models/provider_budget_response.rb +223 -0
- data/lib/litellm_client/models/provider_budget_response_object.rb +256 -0
- data/lib/litellm_client/models/provider_specific_fields.rb +104 -0
- data/lib/litellm_client/models/raw_request_typed_dict.rb +255 -0
- data/lib/litellm_client/models/readonlyhint.rb +104 -0
- data/lib/litellm_client/models/reasoning_content.rb +104 -0
- data/lib/litellm_client/models/regenerate_key_request.rb +537 -0
- data/lib/litellm_client/models/region_name.rb +104 -0
- data/lib/litellm_client/models/resources.rb +104 -0
- data/lib/litellm_client/models/response.rb +105 -0
- data/lib/litellm_client/models/rpm.rb +104 -0
- data/lib/litellm_client/models/scim_group.rb +309 -0
- data/lib/litellm_client/models/scim_list_response.rb +294 -0
- data/lib/litellm_client/models/scim_member.rb +247 -0
- data/lib/litellm_client/models/scim_patch_op.rb +250 -0
- data/lib/litellm_client/models/scim_patch_operation.rb +257 -0
- data/lib/litellm_client/models/scim_user.rb +368 -0
- data/lib/litellm_client/models/scim_user_email.rb +257 -0
- data/lib/litellm_client/models/scim_user_group.rb +257 -0
- data/lib/litellm_client/models/scim_user_name.rb +303 -0
- data/lib/litellm_client/models/seed.rb +104 -0
- data/lib/litellm_client/models/service.rb +104 -0
- data/lib/litellm_client/models/spend_analytics_paginated_response.rb +248 -0
- data/lib/litellm_client/models/spend_calculate_request.rb +245 -0
- data/lib/litellm_client/models/spend_metrics.rb +310 -0
- data/lib/litellm_client/models/sso_config.rb +332 -0
- data/lib/litellm_client/models/sso_settings_response.rb +268 -0
- data/lib/litellm_client/models/starttime.rb +104 -0
- data/lib/litellm_client/models/stream_timeout.rb +105 -0
- data/lib/litellm_client/models/suffix.rb +104 -0
- data/lib/litellm_client/models/system_fingerprint.rb +104 -0
- data/lib/litellm_client/models/tag_config.rb +333 -0
- data/lib/litellm_client/models/tag_delete_request.rb +237 -0
- data/lib/litellm_client/models/tag_info_request.rb +239 -0
- data/lib/litellm_client/models/tag_new_request.rb +271 -0
- data/lib/litellm_client/models/tag_update_request.rb +271 -0
- data/lib/litellm_client/models/team_add_member_response.rb +522 -0
- data/lib/litellm_client/models/team_id.rb +104 -0
- data/lib/litellm_client/models/team_list_response.rb +344 -0
- data/lib/litellm_client/models/team_member_add_request.rb +273 -0
- data/lib/litellm_client/models/team_member_delete_request.rb +257 -0
- data/lib/litellm_client/models/team_member_update_request.rb +311 -0
- data/lib/litellm_client/models/team_member_update_response.rb +283 -0
- data/lib/litellm_client/models/team_model_add_request.rb +266 -0
- data/lib/litellm_client/models/team_model_delete_request.rb +266 -0
- data/lib/litellm_client/models/team_public_model_name.rb +104 -0
- data/lib/litellm_client/models/thinking_blocks.rb +104 -0
- data/lib/litellm_client/models/thinking_blocks_any_of_inner.rb +104 -0
- data/lib/litellm_client/models/tier.rb +104 -0
- data/lib/litellm_client/models/timeout.rb +105 -0
- data/lib/litellm_client/models/title.rb +104 -0
- data/lib/litellm_client/models/token_count_request.rb +259 -0
- data/lib/litellm_client/models/token_count_response.rb +315 -0
- data/lib/litellm_client/models/tool_annotations.rb +257 -0
- data/lib/litellm_client/models/tool_calls.rb +104 -0
- data/lib/litellm_client/models/top_logprob.rb +272 -0
- data/lib/litellm_client/models/tpm.rb +104 -0
- data/lib/litellm_client/models/transform_request_body.rb +287 -0
- data/lib/litellm_client/models/ui_discovery_endpoints.rb +249 -0
- data/lib/litellm_client/models/update_customer_request.rb +333 -0
- data/lib/litellm_client/models/update_deployment.rb +241 -0
- data/lib/litellm_client/models/update_guardrail_request.rb +237 -0
- data/lib/litellm_client/models/update_key_request.rb +543 -0
- data/lib/litellm_client/models/update_lite_llm_params.rb +535 -0
- data/lib/litellm_client/models/update_mcp_server_request.rb +373 -0
- data/lib/litellm_client/models/update_team_member_permissions_request.rb +266 -0
- data/lib/litellm_client/models/update_team_request.rb +378 -0
- data/lib/litellm_client/models/update_user_request.rb +515 -0
- data/lib/litellm_client/models/updated_at.rb +104 -0
- data/lib/litellm_client/models/updated_by.rb +104 -0
- data/lib/litellm_client/models/use_in_pass_through.rb +104 -0
- data/lib/litellm_client/models/use_litellm_proxy.rb +104 -0
- data/lib/litellm_client/models/user_api_key_auth.rb +861 -0
- data/lib/litellm_client/models/user_list_response.rb +344 -0
- data/lib/litellm_client/models/validation_error.rb +291 -0
- data/lib/litellm_client/models/validation_error_loc_inner.rb +104 -0
- data/lib/litellm_client/models/validation_file.rb +104 -0
- data/lib/litellm_client/models/vector_store_delete_request.rb +237 -0
- data/lib/litellm_client/models/vector_store_metadata.rb +104 -0
- data/lib/litellm_client/models/vertex_credentials.rb +105 -0
- data/lib/litellm_client/models/vertex_location.rb +104 -0
- data/lib/litellm_client/models/vertex_project.rb +104 -0
- data/lib/litellm_client/models/watsonx_region_name.rb +104 -0
- data/lib/litellm_client/version.rb +15 -0
- data/lib/litellm_client.rb +339 -0
- data/litellm_client.gemspec +39 -0
- data/spec/api/anthropic_pass_through_api_spec.rb +95 -0
- data/spec/api/assembly_ai_pass_through_api_spec.rb +90 -0
- data/spec/api/assembly_aieu_pass_through_api_spec.rb +90 -0
- data/spec/api/assistants_api_spec.rb +221 -0
- data/spec/api/audio_api_spec.rb +81 -0
- data/spec/api/audit_logging_api_spec.rb +69 -0
- data/spec/api/azure_pass_through_api_spec.rb +95 -0
- data/spec/api/batch_api_spec.rb +191 -0
- data/spec/api/bedrock_pass_through_api_spec.rb +95 -0
- data/spec/api/budget_management_api_spec.rb +106 -0
- data/spec/api/budget_spend_tracking_api_spec.rb +158 -0
- data/spec/api/caching_api_spec.rb +101 -0
- data/spec/api/chat_completions_api_spec.rb +83 -0
- data/spec/api/cohere_pass_through_api_spec.rb +95 -0
- data/spec/api/completions_api_spec.rb +83 -0
- data/spec/api/credential_management_api_spec.rb +109 -0
- data/spec/api/customer_management_api_spec.rb +118 -0
- data/spec/api/default_api_spec.rb +168 -0
- data/spec/api/email_management_api_spec.rb +69 -0
- data/spec/api/embeddings_api_spec.rb +83 -0
- data/spec/api/files_api_spec.rb +242 -0
- data/spec/api/fine_tuning_api_spec.rb +139 -0
- data/spec/api/google_ai_studio_pass_through_api_spec.rb +95 -0
- data/spec/api/guardrails_api_spec.rb +165 -0
- data/spec/api/health_api_spec.rb +170 -0
- data/spec/api/images_api_spec.rb +110 -0
- data/spec/api/internal_user_management_api_spec.rb +121 -0
- data/spec/api/key_management_api_spec.rb +173 -0
- data/spec/api/langfuse_pass_through_api_spec.rb +95 -0
- data/spec/api/llm_utils_api_spec.rb +69 -0
- data/spec/api/mcp_api_spec.rb +120 -0
- data/spec/api/mistral_pass_through_api_spec.rb +95 -0
- data/spec/api/model_management_api_spec.rb +150 -0
- data/spec/api/moderations_api_spec.rb +57 -0
- data/spec/api/open_ai_pass_through_api_spec.rb +95 -0
- data/spec/api/organization_management_api_spec.rb +142 -0
- data/spec/api/pass_through_api_spec.rb +805 -0
- data/spec/api/rerank_api_spec.rb +65 -0
- data/spec/api/responses_api_spec.rb +129 -0
- data/spec/api/scimv2_api_spec.rb +187 -0
- data/spec/api/sso_settings_api_spec.rb +104 -0
- data/spec/api/tag_management_api_spec.rb +112 -0
- data/spec/api/team_management_api_spec.rb +283 -0
- data/spec/api/vector_store_management_api_spec.rb +72 -0
- data/spec/api/vertex_ai_pass_through_api_spec.rb +155 -0
- data/spec/api/vllm_pass_through_api_spec.rb +95 -0
- data/spec/models/add_team_callback_spec.rb +52 -0
- data/spec/models/annotations_spec.rb +21 -0
- data/spec/models/api_base_spec.rb +21 -0
- data/spec/models/api_key_spec.rb +21 -0
- data/spec/models/api_version_spec.rb +21 -0
- data/spec/models/apply_guardrail_request_spec.rb +54 -0
- data/spec/models/apply_guardrail_response_spec.rb +36 -0
- data/spec/models/audit_log_response_spec.rb +84 -0
- data/spec/models/aws_access_key_id_spec.rb +21 -0
- data/spec/models/aws_region_name_spec.rb +21 -0
- data/spec/models/aws_secret_access_key_spec.rb +21 -0
- data/spec/models/base_model_spec.rb +21 -0
- data/spec/models/batch_size_spec.rb +21 -0
- data/spec/models/block_key_request_spec.rb +36 -0
- data/spec/models/block_team_request_spec.rb +36 -0
- data/spec/models/block_users_spec.rb +36 -0
- data/spec/models/body_test_model_connection_health_test_connection_post_spec.rb +46 -0
- data/spec/models/breakdown_metrics_spec.rb +54 -0
- data/spec/models/budget_config_spec.rb +54 -0
- data/spec/models/budget_delete_request_spec.rb +36 -0
- data/spec/models/budget_duration_spec.rb +21 -0
- data/spec/models/budget_new_request_spec.rb +84 -0
- data/spec/models/budget_request_spec.rb +36 -0
- data/spec/models/bytes_spec.rb +21 -0
- data/spec/models/cache_control_spec.rb +21 -0
- data/spec/models/cache_ping_response_spec.rb +66 -0
- data/spec/models/call_types_spec.rb +30 -0
- data/spec/models/chat_completion_annotation_spec.rb +46 -0
- data/spec/models/chat_completion_annotation_url_citation_spec.rb +54 -0
- data/spec/models/chat_completion_audio_response_spec.rb +54 -0
- data/spec/models/chat_completion_cached_content_spec.rb +40 -0
- data/spec/models/chat_completion_redacted_thinking_block_spec.rb +52 -0
- data/spec/models/chat_completion_thinking_block_spec.rb +58 -0
- data/spec/models/chat_completion_token_logprob_spec.rb +54 -0
- data/spec/models/choice_logprobs_spec.rb +36 -0
- data/spec/models/choices1_inner_spec.rb +21 -0
- data/spec/models/choices_spec.rb +60 -0
- data/spec/models/configurable_clientside_auth_params_any_of_inner_spec.rb +21 -0
- data/spec/models/configurable_clientside_auth_params_spec.rb +21 -0
- data/spec/models/configurable_clientside_params_custom_auth_spec.rb +36 -0
- data/spec/models/content1_spec.rb +21 -0
- data/spec/models/content_spec.rb +21 -0
- data/spec/models/create_credential_item_spec.rb +54 -0
- data/spec/models/create_guardrail_request_spec.rb +36 -0
- data/spec/models/created_at_spec.rb +21 -0
- data/spec/models/created_by_spec.rb +21 -0
- data/spec/models/credential_item_spec.rb +48 -0
- data/spec/models/custom_llm_provider1_spec.rb +21 -0
- data/spec/models/custom_llm_provider_spec.rb +21 -0
- data/spec/models/daily_spend_data_spec.rb +48 -0
- data/spec/models/daily_spend_metadata_spec.rb +102 -0
- data/spec/models/default_internal_user_params_spec.rb +58 -0
- data/spec/models/default_team_settings_response_spec.rb +42 -0
- data/spec/models/default_team_sso_params_spec.rb +60 -0
- data/spec/models/delete_customer_request_spec.rb +36 -0
- data/spec/models/delete_organization_request_spec.rb +36 -0
- data/spec/models/delete_team_request_spec.rb +36 -0
- data/spec/models/delete_user_request_spec.rb +36 -0
- data/spec/models/deployment_spec.rb +48 -0
- data/spec/models/description_spec.rb +21 -0
- data/spec/models/destructivehint_spec.rb +21 -0
- data/spec/models/email_event_settings_response_spec.rb +36 -0
- data/spec/models/email_event_settings_spec.rb +42 -0
- data/spec/models/email_event_settings_update_request_spec.rb +36 -0
- data/spec/models/email_event_spec.rb +30 -0
- data/spec/models/endtime_spec.rb +21 -0
- data/spec/models/error_response_spec.rb +36 -0
- data/spec/models/expires_spec.rb +21 -0
- data/spec/models/function_call_spec.rb +42 -0
- data/spec/models/generate_key_request_spec.rb +204 -0
- data/spec/models/generate_key_response_spec.rb +246 -0
- data/spec/models/get_team_member_permissions_response_spec.rb +48 -0
- data/spec/models/guardrail_info_lite_llm_params_response_spec.rb +54 -0
- data/spec/models/guardrail_info_response_spec.rb +76 -0
- data/spec/models/guardrail_spec.rb +66 -0
- data/spec/models/http_validation_error_spec.rb +36 -0
- data/spec/models/hyperparameters_spec.rb +48 -0
- data/spec/models/id_spec.rb +21 -0
- data/spec/models/idempotenthint_spec.rb +21 -0
- data/spec/models/input_cost_per_pixel_spec.rb +21 -0
- data/spec/models/input_cost_per_second_spec.rb +21 -0
- data/spec/models/input_cost_per_token_spec.rb +21 -0
- data/spec/models/integrations_spec.rb +21 -0
- data/spec/models/internal_user_settings_response_spec.rb +42 -0
- data/spec/models/ip_address_spec.rb +36 -0
- data/spec/models/key_health_response_spec.rb +46 -0
- data/spec/models/key_list_response_object_keys_inner_spec.rb +21 -0
- data/spec/models/key_list_response_object_spec.rb +54 -0
- data/spec/models/key_metadata_spec.rb +42 -0
- data/spec/models/key_metric_with_metadata_spec.rb +42 -0
- data/spec/models/key_request_spec.rb +42 -0
- data/spec/models/lakera_category_thresholds_spec.rb +42 -0
- data/spec/models/learning_rate_multiplier_spec.rb +21 -0
- data/spec/models/list_guardrails_response_spec.rb +36 -0
- data/spec/models/list_mcp_tools_rest_api_response_object_annotations_spec.rb +21 -0
- data/spec/models/list_mcp_tools_rest_api_response_object_mcp_info_spec.rb +21 -0
- data/spec/models/list_mcp_tools_rest_api_response_object_spec.rb +60 -0
- data/spec/models/lite_llm_budget_table_spec.rb +78 -0
- data/spec/models/lite_llm_end_user_table_spec.rb +76 -0
- data/spec/models/lite_llm_fine_tuning_job_create_hyperparameters_spec.rb +21 -0
- data/spec/models/lite_llm_fine_tuning_job_create_spec.rb +78 -0
- data/spec/models/lite_llm_managed_vector_store_list_response_spec.rb +64 -0
- data/spec/models/lite_llm_managed_vector_store_spec.rb +78 -0
- data/spec/models/lite_llm_model_table_spec.rb +60 -0
- data/spec/models/lite_llm_object_permission_base_spec.rb +42 -0
- data/spec/models/lite_llm_object_permission_table_spec.rb +48 -0
- data/spec/models/lite_llm_organization_membership_table_spec.rb +84 -0
- data/spec/models/lite_llm_organization_table_update_spec.rb +78 -0
- data/spec/models/lite_llm_organization_table_with_members_spec.rb +126 -0
- data/spec/models/lite_llm_params_spec.rb +246 -0
- data/spec/models/lite_llm_spend_logs_spec.rb +144 -0
- data/spec/models/lite_llm_team_membership_spec.rb +54 -0
- data/spec/models/lite_llm_team_table_spec.rb +168 -0
- data/spec/models/lite_llm_user_table_spec.rb +150 -0
- data/spec/models/lite_llm_user_table_with_key_count_spec.rb +156 -0
- data/spec/models/lite_llm_verification_token_spec.rb +222 -0
- data/spec/models/lite_llmmcp_server_table_spec.rb +108 -0
- data/spec/models/litellm_credential_name_spec.rb +21 -0
- data/spec/models/litellm_params_spec.rb +258 -0
- data/spec/models/litellm_trace_id_spec.rb +21 -0
- data/spec/models/litellm_user_roles_spec.rb +30 -0
- data/spec/models/logging_callback_status_spec.rb +52 -0
- data/spec/models/logprobs_spec.rb +21 -0
- data/spec/models/max_budget_spec.rb +21 -0
- data/spec/models/max_file_size_mb_spec.rb +21 -0
- data/spec/models/max_retries_spec.rb +21 -0
- data/spec/models/mcp_info_spec.rb +48 -0
- data/spec/models/member1_spec.rb +21 -0
- data/spec/models/member2_spec.rb +21 -0
- data/spec/models/member_spec.rb +52 -0
- data/spec/models/merge_reasoning_content_in_choices_spec.rb +21 -0
- data/spec/models/message_audio_spec.rb +21 -0
- data/spec/models/message_function_call_spec.rb +21 -0
- data/spec/models/message_spec.rb +88 -0
- data/spec/models/messages_spec.rb +21 -0
- data/spec/models/metric_with_metadata_spec.rb +42 -0
- data/spec/models/mock_response_spec.rb +21 -0
- data/spec/models/mode1_spec.rb +21 -0
- data/spec/models/mode_spec.rb +21 -0
- data/spec/models/model_aliases_spec.rb +21 -0
- data/spec/models/model_info_delete_spec.rb +36 -0
- data/spec/models/model_info_spec.rb +21 -0
- data/spec/models/model_response_spec.rb +66 -0
- data/spec/models/model_spec.rb +21 -0
- data/spec/models/n_epochs_spec.rb +21 -0
- data/spec/models/name_spec.rb +21 -0
- data/spec/models/new_customer_request_spec.rb +124 -0
- data/spec/models/new_mcp_server_request_spec.rb +84 -0
- data/spec/models/new_organization_request_spec.rb +108 -0
- data/spec/models/new_organization_response_spec.rb +114 -0
- data/spec/models/new_team_request_spec.rb +138 -0
- data/spec/models/new_user_request_spec.rb +214 -0
- data/spec/models/new_user_response_spec.rb +274 -0
- data/spec/models/openworldhint_spec.rb +21 -0
- data/spec/models/org_member_spec.rb +52 -0
- data/spec/models/organization_add_member_response_spec.rb +48 -0
- data/spec/models/organization_member_add_request_spec.rb +48 -0
- data/spec/models/organization_member_delete_request_spec.rb +48 -0
- data/spec/models/organization_member_update_request_spec.rb +60 -0
- data/spec/models/organization_request_spec.rb +36 -0
- data/spec/models/organization_spec.rb +21 -0
- data/spec/models/output_cost_per_pixel_spec.rb +21 -0
- data/spec/models/output_cost_per_second_spec.rb +21 -0
- data/spec/models/output_cost_per_token_spec.rb +21 -0
- data/spec/models/paginated_audit_log_response_spec.rb +60 -0
- data/spec/models/pass_through_endpoint_response_spec.rb +36 -0
- data/spec/models/pass_through_generic_endpoint_spec.rb +48 -0
- data/spec/models/patch_guardrail_litellm_params_spec.rb +42 -0
- data/spec/models/patch_guardrail_request_spec.rb +48 -0
- data/spec/models/pii_action_spec.rb +30 -0
- data/spec/models/pii_entity_type_spec.rb +30 -0
- data/spec/models/provider_budget_response_object_spec.rb +54 -0
- data/spec/models/provider_budget_response_spec.rb +36 -0
- data/spec/models/provider_specific_fields_spec.rb +21 -0
- data/spec/models/raw_request_typed_dict_spec.rb +54 -0
- data/spec/models/readonlyhint_spec.rb +21 -0
- data/spec/models/reasoning_content_spec.rb +21 -0
- data/spec/models/regenerate_key_request_spec.rb +210 -0
- data/spec/models/region_name_spec.rb +21 -0
- data/spec/models/resources_spec.rb +21 -0
- data/spec/models/response_spec.rb +21 -0
- data/spec/models/rpm_spec.rb +21 -0
- data/spec/models/scim_group_spec.rb +66 -0
- data/spec/models/scim_list_response_spec.rb +60 -0
- data/spec/models/scim_member_spec.rb +42 -0
- data/spec/models/scim_patch_op_spec.rb +42 -0
- data/spec/models/scim_patch_operation_spec.rb +48 -0
- data/spec/models/scim_user_email_spec.rb +48 -0
- data/spec/models/scim_user_group_spec.rb +48 -0
- data/spec/models/scim_user_name_spec.rb +66 -0
- data/spec/models/scim_user_spec.rb +90 -0
- data/spec/models/seed_spec.rb +21 -0
- data/spec/models/service_spec.rb +21 -0
- data/spec/models/spend_analytics_paginated_response_spec.rb +42 -0
- data/spec/models/spend_calculate_request_spec.rb +48 -0
- data/spec/models/spend_metrics_spec.rb +84 -0
- data/spec/models/sso_config_spec.rb +102 -0
- data/spec/models/sso_settings_response_spec.rb +42 -0
- data/spec/models/starttime_spec.rb +21 -0
- data/spec/models/stream_timeout_spec.rb +21 -0
- data/spec/models/suffix_spec.rb +21 -0
- data/spec/models/system_fingerprint_spec.rb +21 -0
- data/spec/models/tag_config_spec.rb +72 -0
- data/spec/models/tag_delete_request_spec.rb +36 -0
- data/spec/models/tag_info_request_spec.rb +36 -0
- data/spec/models/tag_new_request_spec.rb +54 -0
- data/spec/models/tag_update_request_spec.rb +54 -0
- data/spec/models/team_add_member_response_spec.rb +180 -0
- data/spec/models/team_id_spec.rb +21 -0
- data/spec/models/team_list_response_spec.rb +60 -0
- data/spec/models/team_member_add_request_spec.rb +48 -0
- data/spec/models/team_member_delete_request_spec.rb +48 -0
- data/spec/models/team_member_update_request_spec.rb +64 -0
- data/spec/models/team_member_update_response_spec.rb +54 -0
- data/spec/models/team_model_add_request_spec.rb +42 -0
- data/spec/models/team_model_delete_request_spec.rb +42 -0
- data/spec/models/team_public_model_name_spec.rb +21 -0
- data/spec/models/thinking_blocks_any_of_inner_spec.rb +21 -0
- data/spec/models/thinking_blocks_spec.rb +21 -0
- data/spec/models/tier_spec.rb +21 -0
- data/spec/models/timeout_spec.rb +21 -0
- data/spec/models/title_spec.rb +21 -0
- data/spec/models/token_count_request_spec.rb +48 -0
- data/spec/models/token_count_response_spec.rb +54 -0
- data/spec/models/tool_annotations_spec.rb +60 -0
- data/spec/models/tool_calls_spec.rb +21 -0
- data/spec/models/top_logprob_spec.rb +48 -0
- data/spec/models/tpm_spec.rb +21 -0
- data/spec/models/transform_request_body_spec.rb +42 -0
- data/spec/models/ui_discovery_endpoints_spec.rb +42 -0
- data/spec/models/update_customer_request_spec.rb +76 -0
- data/spec/models/update_deployment_spec.rb +48 -0
- data/spec/models/update_guardrail_request_spec.rb +36 -0
- data/spec/models/update_key_request_spec.rb +204 -0
- data/spec/models/update_lite_llm_params_spec.rb +246 -0
- data/spec/models/update_mcp_server_request_spec.rb +84 -0
- data/spec/models/update_team_member_permissions_request_spec.rb +42 -0
- data/spec/models/update_team_request_spec.rb +114 -0
- data/spec/models/update_user_request_spec.rb +184 -0
- data/spec/models/updated_at_spec.rb +21 -0
- data/spec/models/updated_by_spec.rb +21 -0
- data/spec/models/use_in_pass_through_spec.rb +21 -0
- data/spec/models/use_litellm_proxy_spec.rb +21 -0
- data/spec/models/user_api_key_auth_spec.rb +388 -0
- data/spec/models/user_list_response_spec.rb +60 -0
- data/spec/models/validation_error_loc_inner_spec.rb +21 -0
- data/spec/models/validation_error_spec.rb +48 -0
- data/spec/models/validation_file_spec.rb +21 -0
- data/spec/models/vector_store_delete_request_spec.rb +36 -0
- data/spec/models/vector_store_metadata_spec.rb +21 -0
- data/spec/models/vertex_credentials_spec.rb +21 -0
- data/spec/models/vertex_location_spec.rb +21 -0
- data/spec/models/vertex_project_spec.rb +21 -0
- data/spec/models/watsonx_region_name_spec.rb +21 -0
- data/spec/spec_helper.rb +111 -0
- metadata +1298 -0
@@ -0,0 +1,735 @@
|
|
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 KeyManagementApi
|
17
|
+
attr_accessor :api_client
|
18
|
+
|
19
|
+
def initialize(api_client = ApiClient.default)
|
20
|
+
@api_client = api_client
|
21
|
+
end
|
22
|
+
# Block Key
|
23
|
+
# Block an Virtual key from making any requests. Parameters: - key: str - The key to block. Can be either the unhashed key (sk-...) or the hashed key value Example: ```bash curl --location 'http://0.0.0.0:4000/key/block' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"key\": \"sk-Fn8Ej39NxjAXrvpUGKghGw\" }' ``` Note: This is an admin-only endpoint. Only proxy admins can block keys.
|
24
|
+
# @param block_key_request [BlockKeyRequest]
|
25
|
+
# @param [Hash] opts the optional parameters
|
26
|
+
# @option opts [String] :litellm_changed_by The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability
|
27
|
+
# @return [LiteLLMVerificationToken]
|
28
|
+
def block_key_key_block_post(block_key_request, opts = {})
|
29
|
+
data, _status_code, _headers = block_key_key_block_post_with_http_info(block_key_request, opts)
|
30
|
+
data
|
31
|
+
end
|
32
|
+
|
33
|
+
# Block Key
|
34
|
+
# Block an Virtual key from making any requests. Parameters: - key: str - The key to block. Can be either the unhashed key (sk-...) or the hashed key value Example: ```bash curl --location 'http://0.0.0.0:4000/key/block' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"key\": \"sk-Fn8Ej39NxjAXrvpUGKghGw\" }' ``` Note: This is an admin-only endpoint. Only proxy admins can block keys.
|
35
|
+
# @param block_key_request [BlockKeyRequest]
|
36
|
+
# @param [Hash] opts the optional parameters
|
37
|
+
# @option opts [String] :litellm_changed_by The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability
|
38
|
+
# @return [Array<(LiteLLMVerificationToken, Integer, Hash)>] LiteLLMVerificationToken data, response status code and response headers
|
39
|
+
def block_key_key_block_post_with_http_info(block_key_request, opts = {})
|
40
|
+
if @api_client.config.debugging
|
41
|
+
@api_client.config.logger.debug 'Calling API: KeyManagementApi.block_key_key_block_post ...'
|
42
|
+
end
|
43
|
+
# verify the required parameter 'block_key_request' is set
|
44
|
+
if @api_client.config.client_side_validation && block_key_request.nil?
|
45
|
+
fail ArgumentError, "Missing the required parameter 'block_key_request' when calling KeyManagementApi.block_key_key_block_post"
|
46
|
+
end
|
47
|
+
# resource path
|
48
|
+
local_var_path = '/key/block'
|
49
|
+
|
50
|
+
# query parameters
|
51
|
+
query_params = opts[:query_params] || {}
|
52
|
+
|
53
|
+
# header parameters
|
54
|
+
header_params = opts[:header_params] || {}
|
55
|
+
# HTTP header 'Accept' (if needed)
|
56
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
57
|
+
# HTTP header 'Content-Type'
|
58
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
59
|
+
if !content_type.nil?
|
60
|
+
header_params['Content-Type'] = content_type
|
61
|
+
end
|
62
|
+
header_params[:'litellm-changed-by'] = opts[:'litellm_changed_by'] if !opts[:'litellm_changed_by'].nil?
|
63
|
+
|
64
|
+
# form parameters
|
65
|
+
form_params = opts[:form_params] || {}
|
66
|
+
|
67
|
+
# http body (model)
|
68
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(block_key_request)
|
69
|
+
|
70
|
+
# return_type
|
71
|
+
return_type = opts[:debug_return_type] || 'LiteLLMVerificationToken'
|
72
|
+
|
73
|
+
# auth_names
|
74
|
+
auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
|
75
|
+
|
76
|
+
new_options = opts.merge(
|
77
|
+
:operation => :"KeyManagementApi.block_key_key_block_post",
|
78
|
+
:header_params => header_params,
|
79
|
+
:query_params => query_params,
|
80
|
+
:form_params => form_params,
|
81
|
+
:body => post_body,
|
82
|
+
:auth_names => auth_names,
|
83
|
+
:return_type => return_type
|
84
|
+
)
|
85
|
+
|
86
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
87
|
+
if @api_client.config.debugging
|
88
|
+
@api_client.config.logger.debug "API called: KeyManagementApi#block_key_key_block_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
89
|
+
end
|
90
|
+
return data, status_code, headers
|
91
|
+
end
|
92
|
+
|
93
|
+
# Delete Key Fn
|
94
|
+
# Delete a key from the key management system. Parameters:: - keys (List[str]): A list of keys or hashed keys to delete. Example {\"keys\": [\"sk-QWrxEynunsNpV1zT48HIrw\", \"837e17519f44683334df5291321d97b8bf1098cd490e49e215f6fea935aa28be\"]} - key_aliases (List[str]): A list of key aliases to delete. Can be passed instead of `keys`.Example {\"key_aliases\": [\"alias1\", \"alias2\"]} Returns: - deleted_keys (List[str]): A list of deleted keys. Example {\"deleted_keys\": [\"sk-QWrxEynunsNpV1zT48HIrw\", \"837e17519f44683334df5291321d97b8bf1098cd490e49e215f6fea935aa28be\"]} Example: ```bash curl --location 'http://0.0.0.0:4000/key/delete' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"keys\": [\"sk-QWrxEynunsNpV1zT48HIrw\"] }' ``` Raises: HTTPException: If an error occurs during key deletion.
|
95
|
+
# @param key_request [KeyRequest]
|
96
|
+
# @param [Hash] opts the optional parameters
|
97
|
+
# @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
|
98
|
+
# @return [Object]
|
99
|
+
def delete_key_fn_key_delete_post(key_request, opts = {})
|
100
|
+
data, _status_code, _headers = delete_key_fn_key_delete_post_with_http_info(key_request, opts)
|
101
|
+
data
|
102
|
+
end
|
103
|
+
|
104
|
+
# Delete Key Fn
|
105
|
+
# Delete a key from the key management system. Parameters:: - keys (List[str]): A list of keys or hashed keys to delete. Example {\"keys\": [\"sk-QWrxEynunsNpV1zT48HIrw\", \"837e17519f44683334df5291321d97b8bf1098cd490e49e215f6fea935aa28be\"]} - key_aliases (List[str]): A list of key aliases to delete. Can be passed instead of `keys`.Example {\"key_aliases\": [\"alias1\", \"alias2\"]} Returns: - deleted_keys (List[str]): A list of deleted keys. Example {\"deleted_keys\": [\"sk-QWrxEynunsNpV1zT48HIrw\", \"837e17519f44683334df5291321d97b8bf1098cd490e49e215f6fea935aa28be\"]} Example: ```bash curl --location 'http://0.0.0.0:4000/key/delete' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"keys\": [\"sk-QWrxEynunsNpV1zT48HIrw\"] }' ``` Raises: HTTPException: If an error occurs during key deletion.
|
106
|
+
# @param key_request [KeyRequest]
|
107
|
+
# @param [Hash] opts the optional parameters
|
108
|
+
# @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
|
109
|
+
# @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
|
110
|
+
def delete_key_fn_key_delete_post_with_http_info(key_request, opts = {})
|
111
|
+
if @api_client.config.debugging
|
112
|
+
@api_client.config.logger.debug 'Calling API: KeyManagementApi.delete_key_fn_key_delete_post ...'
|
113
|
+
end
|
114
|
+
# verify the required parameter 'key_request' is set
|
115
|
+
if @api_client.config.client_side_validation && key_request.nil?
|
116
|
+
fail ArgumentError, "Missing the required parameter 'key_request' when calling KeyManagementApi.delete_key_fn_key_delete_post"
|
117
|
+
end
|
118
|
+
# resource path
|
119
|
+
local_var_path = '/key/delete'
|
120
|
+
|
121
|
+
# query parameters
|
122
|
+
query_params = opts[:query_params] || {}
|
123
|
+
|
124
|
+
# header parameters
|
125
|
+
header_params = opts[:header_params] || {}
|
126
|
+
# HTTP header 'Accept' (if needed)
|
127
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
128
|
+
# HTTP header 'Content-Type'
|
129
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
130
|
+
if !content_type.nil?
|
131
|
+
header_params['Content-Type'] = content_type
|
132
|
+
end
|
133
|
+
header_params[:'litellm-changed-by'] = opts[:'litellm_changed_by'] if !opts[:'litellm_changed_by'].nil?
|
134
|
+
|
135
|
+
# form parameters
|
136
|
+
form_params = opts[:form_params] || {}
|
137
|
+
|
138
|
+
# http body (model)
|
139
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(key_request)
|
140
|
+
|
141
|
+
# return_type
|
142
|
+
return_type = opts[:debug_return_type] || 'Object'
|
143
|
+
|
144
|
+
# auth_names
|
145
|
+
auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
|
146
|
+
|
147
|
+
new_options = opts.merge(
|
148
|
+
:operation => :"KeyManagementApi.delete_key_fn_key_delete_post",
|
149
|
+
:header_params => header_params,
|
150
|
+
:query_params => query_params,
|
151
|
+
:form_params => form_params,
|
152
|
+
:body => post_body,
|
153
|
+
:auth_names => auth_names,
|
154
|
+
:return_type => return_type
|
155
|
+
)
|
156
|
+
|
157
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
158
|
+
if @api_client.config.debugging
|
159
|
+
@api_client.config.logger.debug "API called: KeyManagementApi#delete_key_fn_key_delete_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
160
|
+
end
|
161
|
+
return data, status_code, headers
|
162
|
+
end
|
163
|
+
|
164
|
+
# Generate Key Fn
|
165
|
+
# Generate an API key based on the provided data. Docs: https://docs.litellm.ai/docs/proxy/virtual_keys Parameters: - duration: Optional[str] - Specify the length of time the token is valid for. You can set duration as seconds (\"30s\"), minutes (\"30m\"), hours (\"30h\"), days (\"30d\"). - key_alias: Optional[str] - User defined key alias - key: Optional[str] - User defined key value. If not set, a 16-digit unique sk-key is created for you. - team_id: Optional[str] - The team id of the key - user_id: Optional[str] - The user id of the key - budget_id: Optional[str] - The budget id associated with the key. Created by calling `/budget/new`. - models: Optional[list] - Model_name's a user is allowed to call. (if empty, key is allowed to call all models) - aliases: Optional[dict] - Any alias mappings, on top of anything in the config.yaml model list. - https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---upgradedowngrade-models - config: Optional[dict] - any key-specific configs, overrides config in config.yaml - spend: Optional[int] - Amount spent by key. Default is 0. Will be updated by proxy whenever key is used. https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---tracking-spend - send_invite_email: Optional[bool] - Whether to send an invite email to the user_id, with the generate key - max_budget: Optional[float] - Specify max budget for a given key. - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds (\"30s\"), minutes (\"30m\"), hours (\"30h\"), days (\"30d\"). - max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user's parallel requests > x. - metadata: Optional[dict] - Metadata for key, store information for key. Example metadata = {\"team\": \"core-infra\", \"app\": \"app2\", \"email\": \"ishaan@berri.ai\" } - guardrails: Optional[List[str]] - List of active guardrails for the key - permissions: Optional[dict] - key-specific permissions. Currently just used for turning off pii masking (if connected). Example - {\"pii\": false} - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {\"gpt-4\": {\"budget_limit\": 0.0005, \"time_period\": \"30d\"}}}. IF null or {} then no model specific budget. - model_rpm_limit: Optional[dict] - key-specific model rpm limit. Example - {\"text-davinci-002\": 1000, \"gpt-3.5-turbo\": 1000}. IF null or {} then no model specific rpm limit. - model_tpm_limit: Optional[dict] - key-specific model tpm limit. Example - {\"text-davinci-002\": 1000, \"gpt-3.5-turbo\": 1000}. IF null or {} then no model specific tpm limit. - allowed_cache_controls: Optional[list] - List of allowed cache control values. Example - [\"no-cache\", \"no-store\"]. See all values - https://docs.litellm.ai/docs/proxy/caching#turn-on--off-caching-per-request - blocked: Optional[bool] - Whether the key is blocked. - rpm_limit: Optional[int] - Specify rpm limit for a given key (Requests per minute) - tpm_limit: Optional[int] - Specify tpm limit for a given key (Tokens per minute) - soft_budget: Optional[float] - Specify soft budget for a given key. Will trigger a slack alert when this soft budget is reached. - tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - enforced_params: Optional[List[str]] - List of enforced params for the key (Enterprise only). [Docs](https://docs.litellm.ai/docs/proxy/enterprise#enforce-required-params-for-llm-requests) - allowed_routes: Optional[list] - List of allowed routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - [\"/chat/completions\", \"/embeddings\", \"/keys/*\"] - object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission. Examples: 1. Allow users to turn on/off pii masking ```bash curl --location 'http://0.0.0.0:4000/key/generate' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"permissions\": {\"allow_pii_controls\": true} }' ``` Returns: - key: (str) The generated api key - expires: (datetime) Datetime object for when key expires. - user_id: (str) Unique user id - used for tracking spend across multiple keys for same user id.
|
166
|
+
# @param generate_key_request [GenerateKeyRequest]
|
167
|
+
# @param [Hash] opts the optional parameters
|
168
|
+
# @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
|
169
|
+
# @return [GenerateKeyResponse]
|
170
|
+
def generate_key_fn_key_generate_post(generate_key_request, opts = {})
|
171
|
+
data, _status_code, _headers = generate_key_fn_key_generate_post_with_http_info(generate_key_request, opts)
|
172
|
+
data
|
173
|
+
end
|
174
|
+
|
175
|
+
# Generate Key Fn
|
176
|
+
# Generate an API key based on the provided data. Docs: https://docs.litellm.ai/docs/proxy/virtual_keys Parameters: - duration: Optional[str] - Specify the length of time the token is valid for. You can set duration as seconds (\"30s\"), minutes (\"30m\"), hours (\"30h\"), days (\"30d\"). - key_alias: Optional[str] - User defined key alias - key: Optional[str] - User defined key value. If not set, a 16-digit unique sk-key is created for you. - team_id: Optional[str] - The team id of the key - user_id: Optional[str] - The user id of the key - budget_id: Optional[str] - The budget id associated with the key. Created by calling `/budget/new`. - models: Optional[list] - Model_name's a user is allowed to call. (if empty, key is allowed to call all models) - aliases: Optional[dict] - Any alias mappings, on top of anything in the config.yaml model list. - https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---upgradedowngrade-models - config: Optional[dict] - any key-specific configs, overrides config in config.yaml - spend: Optional[int] - Amount spent by key. Default is 0. Will be updated by proxy whenever key is used. https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---tracking-spend - send_invite_email: Optional[bool] - Whether to send an invite email to the user_id, with the generate key - max_budget: Optional[float] - Specify max budget for a given key. - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds (\"30s\"), minutes (\"30m\"), hours (\"30h\"), days (\"30d\"). - max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user's parallel requests > x. - metadata: Optional[dict] - Metadata for key, store information for key. Example metadata = {\"team\": \"core-infra\", \"app\": \"app2\", \"email\": \"ishaan@berri.ai\" } - guardrails: Optional[List[str]] - List of active guardrails for the key - permissions: Optional[dict] - key-specific permissions. Currently just used for turning off pii masking (if connected). Example - {\"pii\": false} - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {\"gpt-4\": {\"budget_limit\": 0.0005, \"time_period\": \"30d\"}}}. IF null or {} then no model specific budget. - model_rpm_limit: Optional[dict] - key-specific model rpm limit. Example - {\"text-davinci-002\": 1000, \"gpt-3.5-turbo\": 1000}. IF null or {} then no model specific rpm limit. - model_tpm_limit: Optional[dict] - key-specific model tpm limit. Example - {\"text-davinci-002\": 1000, \"gpt-3.5-turbo\": 1000}. IF null or {} then no model specific tpm limit. - allowed_cache_controls: Optional[list] - List of allowed cache control values. Example - [\"no-cache\", \"no-store\"]. See all values - https://docs.litellm.ai/docs/proxy/caching#turn-on--off-caching-per-request - blocked: Optional[bool] - Whether the key is blocked. - rpm_limit: Optional[int] - Specify rpm limit for a given key (Requests per minute) - tpm_limit: Optional[int] - Specify tpm limit for a given key (Tokens per minute) - soft_budget: Optional[float] - Specify soft budget for a given key. Will trigger a slack alert when this soft budget is reached. - tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - enforced_params: Optional[List[str]] - List of enforced params for the key (Enterprise only). [Docs](https://docs.litellm.ai/docs/proxy/enterprise#enforce-required-params-for-llm-requests) - allowed_routes: Optional[list] - List of allowed routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - [\"/chat/completions\", \"/embeddings\", \"/keys/*\"] - object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission. Examples: 1. Allow users to turn on/off pii masking ```bash curl --location 'http://0.0.0.0:4000/key/generate' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"permissions\": {\"allow_pii_controls\": true} }' ``` Returns: - key: (str) The generated api key - expires: (datetime) Datetime object for when key expires. - user_id: (str) Unique user id - used for tracking spend across multiple keys for same user id.
|
177
|
+
# @param generate_key_request [GenerateKeyRequest]
|
178
|
+
# @param [Hash] opts the optional parameters
|
179
|
+
# @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
|
180
|
+
# @return [Array<(GenerateKeyResponse, Integer, Hash)>] GenerateKeyResponse data, response status code and response headers
|
181
|
+
def generate_key_fn_key_generate_post_with_http_info(generate_key_request, opts = {})
|
182
|
+
if @api_client.config.debugging
|
183
|
+
@api_client.config.logger.debug 'Calling API: KeyManagementApi.generate_key_fn_key_generate_post ...'
|
184
|
+
end
|
185
|
+
# verify the required parameter 'generate_key_request' is set
|
186
|
+
if @api_client.config.client_side_validation && generate_key_request.nil?
|
187
|
+
fail ArgumentError, "Missing the required parameter 'generate_key_request' when calling KeyManagementApi.generate_key_fn_key_generate_post"
|
188
|
+
end
|
189
|
+
# resource path
|
190
|
+
local_var_path = '/key/generate'
|
191
|
+
|
192
|
+
# query parameters
|
193
|
+
query_params = opts[:query_params] || {}
|
194
|
+
|
195
|
+
# header parameters
|
196
|
+
header_params = opts[:header_params] || {}
|
197
|
+
# HTTP header 'Accept' (if needed)
|
198
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
199
|
+
# HTTP header 'Content-Type'
|
200
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
201
|
+
if !content_type.nil?
|
202
|
+
header_params['Content-Type'] = content_type
|
203
|
+
end
|
204
|
+
header_params[:'litellm-changed-by'] = opts[:'litellm_changed_by'] if !opts[:'litellm_changed_by'].nil?
|
205
|
+
|
206
|
+
# form parameters
|
207
|
+
form_params = opts[:form_params] || {}
|
208
|
+
|
209
|
+
# http body (model)
|
210
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(generate_key_request)
|
211
|
+
|
212
|
+
# return_type
|
213
|
+
return_type = opts[:debug_return_type] || 'GenerateKeyResponse'
|
214
|
+
|
215
|
+
# auth_names
|
216
|
+
auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
|
217
|
+
|
218
|
+
new_options = opts.merge(
|
219
|
+
:operation => :"KeyManagementApi.generate_key_fn_key_generate_post",
|
220
|
+
:header_params => header_params,
|
221
|
+
:query_params => query_params,
|
222
|
+
:form_params => form_params,
|
223
|
+
:body => post_body,
|
224
|
+
:auth_names => auth_names,
|
225
|
+
:return_type => return_type
|
226
|
+
)
|
227
|
+
|
228
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
229
|
+
if @api_client.config.debugging
|
230
|
+
@api_client.config.logger.debug "API called: KeyManagementApi#generate_key_fn_key_generate_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
231
|
+
end
|
232
|
+
return data, status_code, headers
|
233
|
+
end
|
234
|
+
|
235
|
+
# Info Key Fn
|
236
|
+
# Retrieve information about a key. Parameters: key: Optional[str] = Query parameter representing the key in the request user_api_key_dict: UserAPIKeyAuth = Dependency representing the user's API key Returns: Dict containing the key and its associated information Example Curl: ``` curl -X GET \"http://0.0.0.0:4000/key/info?key=sk-02Wr4IAlN3NvPXvL5JVvDA\" -H \"Authorization: Bearer sk-1234\" ``` Example Curl - if no key is passed, it will use the Key Passed in Authorization Header ``` curl -X GET \"http://0.0.0.0:4000/key/info\" -H \"Authorization: Bearer sk-02Wr4IAlN3NvPXvL5JVvDA\" ```
|
237
|
+
# @param [Hash] opts the optional parameters
|
238
|
+
# @option opts [String] :key Key in the request parameters
|
239
|
+
# @return [Object]
|
240
|
+
def info_key_fn_key_info_get(opts = {})
|
241
|
+
data, _status_code, _headers = info_key_fn_key_info_get_with_http_info(opts)
|
242
|
+
data
|
243
|
+
end
|
244
|
+
|
245
|
+
# Info Key Fn
|
246
|
+
# Retrieve information about a key. Parameters: key: Optional[str] = Query parameter representing the key in the request user_api_key_dict: UserAPIKeyAuth = Dependency representing the user's API key Returns: Dict containing the key and its associated information Example Curl: ``` curl -X GET \"http://0.0.0.0:4000/key/info?key=sk-02Wr4IAlN3NvPXvL5JVvDA\" -H \"Authorization: Bearer sk-1234\" ``` Example Curl - if no key is passed, it will use the Key Passed in Authorization Header ``` curl -X GET \"http://0.0.0.0:4000/key/info\" -H \"Authorization: Bearer sk-02Wr4IAlN3NvPXvL5JVvDA\" ```
|
247
|
+
# @param [Hash] opts the optional parameters
|
248
|
+
# @option opts [String] :key Key in the request parameters
|
249
|
+
# @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
|
250
|
+
def info_key_fn_key_info_get_with_http_info(opts = {})
|
251
|
+
if @api_client.config.debugging
|
252
|
+
@api_client.config.logger.debug 'Calling API: KeyManagementApi.info_key_fn_key_info_get ...'
|
253
|
+
end
|
254
|
+
# resource path
|
255
|
+
local_var_path = '/key/info'
|
256
|
+
|
257
|
+
# query parameters
|
258
|
+
query_params = opts[:query_params] || {}
|
259
|
+
query_params[:'key'] = opts[:'key'] if !opts[:'key'].nil?
|
260
|
+
|
261
|
+
# header parameters
|
262
|
+
header_params = opts[:header_params] || {}
|
263
|
+
# HTTP header 'Accept' (if needed)
|
264
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
265
|
+
|
266
|
+
# form parameters
|
267
|
+
form_params = opts[:form_params] || {}
|
268
|
+
|
269
|
+
# http body (model)
|
270
|
+
post_body = opts[:debug_body]
|
271
|
+
|
272
|
+
# return_type
|
273
|
+
return_type = opts[:debug_return_type] || 'Object'
|
274
|
+
|
275
|
+
# auth_names
|
276
|
+
auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
|
277
|
+
|
278
|
+
new_options = opts.merge(
|
279
|
+
:operation => :"KeyManagementApi.info_key_fn_key_info_get",
|
280
|
+
:header_params => header_params,
|
281
|
+
:query_params => query_params,
|
282
|
+
:form_params => form_params,
|
283
|
+
:body => post_body,
|
284
|
+
:auth_names => auth_names,
|
285
|
+
:return_type => return_type
|
286
|
+
)
|
287
|
+
|
288
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
289
|
+
if @api_client.config.debugging
|
290
|
+
@api_client.config.logger.debug "API called: KeyManagementApi#info_key_fn_key_info_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
291
|
+
end
|
292
|
+
return data, status_code, headers
|
293
|
+
end
|
294
|
+
|
295
|
+
# Key Health
|
296
|
+
# Check the health of the key Checks: - If key based logging is configured correctly - sends a test log Usage Pass the key in the request header ```bash curl -X POST \"http://localhost:4000/key/health\" -H \"Authorization: Bearer sk-1234\" -H \"Content-Type: application/json\" ``` Response when logging callbacks are setup correctly: ```json { \"key\": \"healthy\", \"logging_callbacks\": { \"callbacks\": [ \"gcs_bucket\" ], \"status\": \"healthy\", \"details\": \"No logger exceptions triggered, system is healthy. Manually check if logs were sent to ['gcs_bucket']\" } } ``` Response when logging callbacks are not setup correctly: ```json { \"key\": \"unhealthy\", \"logging_callbacks\": { \"callbacks\": [ \"gcs_bucket\" ], \"status\": \"unhealthy\", \"details\": \"Logger exceptions triggered, system is unhealthy: Failed to load vertex credentials. Check to see if credentials containing partial/invalid information.\" } } ```
|
297
|
+
# @param [Hash] opts the optional parameters
|
298
|
+
# @return [KeyHealthResponse]
|
299
|
+
def key_health_key_health_post(opts = {})
|
300
|
+
data, _status_code, _headers = key_health_key_health_post_with_http_info(opts)
|
301
|
+
data
|
302
|
+
end
|
303
|
+
|
304
|
+
# Key Health
|
305
|
+
# Check the health of the key Checks: - If key based logging is configured correctly - sends a test log Usage Pass the key in the request header ```bash curl -X POST \"http://localhost:4000/key/health\" -H \"Authorization: Bearer sk-1234\" -H \"Content-Type: application/json\" ``` Response when logging callbacks are setup correctly: ```json { \"key\": \"healthy\", \"logging_callbacks\": { \"callbacks\": [ \"gcs_bucket\" ], \"status\": \"healthy\", \"details\": \"No logger exceptions triggered, system is healthy. Manually check if logs were sent to ['gcs_bucket']\" } } ``` Response when logging callbacks are not setup correctly: ```json { \"key\": \"unhealthy\", \"logging_callbacks\": { \"callbacks\": [ \"gcs_bucket\" ], \"status\": \"unhealthy\", \"details\": \"Logger exceptions triggered, system is unhealthy: Failed to load vertex credentials. Check to see if credentials containing partial/invalid information.\" } } ```
|
306
|
+
# @param [Hash] opts the optional parameters
|
307
|
+
# @return [Array<(KeyHealthResponse, Integer, Hash)>] KeyHealthResponse data, response status code and response headers
|
308
|
+
def key_health_key_health_post_with_http_info(opts = {})
|
309
|
+
if @api_client.config.debugging
|
310
|
+
@api_client.config.logger.debug 'Calling API: KeyManagementApi.key_health_key_health_post ...'
|
311
|
+
end
|
312
|
+
# resource path
|
313
|
+
local_var_path = '/key/health'
|
314
|
+
|
315
|
+
# query parameters
|
316
|
+
query_params = opts[:query_params] || {}
|
317
|
+
|
318
|
+
# header parameters
|
319
|
+
header_params = opts[:header_params] || {}
|
320
|
+
# HTTP header 'Accept' (if needed)
|
321
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
322
|
+
|
323
|
+
# form parameters
|
324
|
+
form_params = opts[:form_params] || {}
|
325
|
+
|
326
|
+
# http body (model)
|
327
|
+
post_body = opts[:debug_body]
|
328
|
+
|
329
|
+
# return_type
|
330
|
+
return_type = opts[:debug_return_type] || 'KeyHealthResponse'
|
331
|
+
|
332
|
+
# auth_names
|
333
|
+
auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
|
334
|
+
|
335
|
+
new_options = opts.merge(
|
336
|
+
:operation => :"KeyManagementApi.key_health_key_health_post",
|
337
|
+
:header_params => header_params,
|
338
|
+
:query_params => query_params,
|
339
|
+
:form_params => form_params,
|
340
|
+
:body => post_body,
|
341
|
+
:auth_names => auth_names,
|
342
|
+
:return_type => return_type
|
343
|
+
)
|
344
|
+
|
345
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
346
|
+
if @api_client.config.debugging
|
347
|
+
@api_client.config.logger.debug "API called: KeyManagementApi#key_health_key_health_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
348
|
+
end
|
349
|
+
return data, status_code, headers
|
350
|
+
end
|
351
|
+
|
352
|
+
# List Keys
|
353
|
+
# List all keys for a given user / team / organization. Returns: { \"keys\": List[str] or List[UserAPIKeyAuth], \"total_count\": int, \"current_page\": int, \"total_pages\": int, }
|
354
|
+
# @param [Hash] opts the optional parameters
|
355
|
+
# @option opts [Integer] :page Page number (default to 1)
|
356
|
+
# @option opts [Integer] :size Page size (default to 10)
|
357
|
+
# @option opts [String] :user_id Filter keys by user ID
|
358
|
+
# @option opts [String] :team_id Filter keys by team ID
|
359
|
+
# @option opts [String] :organization_id Filter keys by organization ID
|
360
|
+
# @option opts [String] :key_hash Filter keys by key hash
|
361
|
+
# @option opts [String] :key_alias Filter keys by key alias
|
362
|
+
# @option opts [Boolean] :return_full_object Return full key object (default to false)
|
363
|
+
# @option opts [Boolean] :include_team_keys Include all keys for teams that user is an admin of. (default to false)
|
364
|
+
# @option opts [String] :sort_by Column to sort by (e.g. 'user_id', 'created_at', 'spend')
|
365
|
+
# @option opts [String] :sort_order Sort order ('asc' or 'desc') (default to 'desc')
|
366
|
+
# @return [KeyListResponseObject]
|
367
|
+
def list_keys_key_list_get(opts = {})
|
368
|
+
data, _status_code, _headers = list_keys_key_list_get_with_http_info(opts)
|
369
|
+
data
|
370
|
+
end
|
371
|
+
|
372
|
+
# List Keys
|
373
|
+
# List all keys for a given user / team / organization. Returns: { \"keys\": List[str] or List[UserAPIKeyAuth], \"total_count\": int, \"current_page\": int, \"total_pages\": int, }
|
374
|
+
# @param [Hash] opts the optional parameters
|
375
|
+
# @option opts [Integer] :page Page number (default to 1)
|
376
|
+
# @option opts [Integer] :size Page size (default to 10)
|
377
|
+
# @option opts [String] :user_id Filter keys by user ID
|
378
|
+
# @option opts [String] :team_id Filter keys by team ID
|
379
|
+
# @option opts [String] :organization_id Filter keys by organization ID
|
380
|
+
# @option opts [String] :key_hash Filter keys by key hash
|
381
|
+
# @option opts [String] :key_alias Filter keys by key alias
|
382
|
+
# @option opts [Boolean] :return_full_object Return full key object (default to false)
|
383
|
+
# @option opts [Boolean] :include_team_keys Include all keys for teams that user is an admin of. (default to false)
|
384
|
+
# @option opts [String] :sort_by Column to sort by (e.g. 'user_id', 'created_at', 'spend')
|
385
|
+
# @option opts [String] :sort_order Sort order ('asc' or 'desc') (default to 'desc')
|
386
|
+
# @return [Array<(KeyListResponseObject, Integer, Hash)>] KeyListResponseObject data, response status code and response headers
|
387
|
+
def list_keys_key_list_get_with_http_info(opts = {})
|
388
|
+
if @api_client.config.debugging
|
389
|
+
@api_client.config.logger.debug 'Calling API: KeyManagementApi.list_keys_key_list_get ...'
|
390
|
+
end
|
391
|
+
if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
|
392
|
+
fail ArgumentError, 'invalid value for "opts[:"page"]" when calling KeyManagementApi.list_keys_key_list_get, must be greater than or equal to 1.'
|
393
|
+
end
|
394
|
+
|
395
|
+
if @api_client.config.client_side_validation && !opts[:'size'].nil? && opts[:'size'] > 100
|
396
|
+
fail ArgumentError, 'invalid value for "opts[:"size"]" when calling KeyManagementApi.list_keys_key_list_get, must be smaller than or equal to 100.'
|
397
|
+
end
|
398
|
+
|
399
|
+
if @api_client.config.client_side_validation && !opts[:'size'].nil? && opts[:'size'] < 1
|
400
|
+
fail ArgumentError, 'invalid value for "opts[:"size"]" when calling KeyManagementApi.list_keys_key_list_get, must be greater than or equal to 1.'
|
401
|
+
end
|
402
|
+
|
403
|
+
# resource path
|
404
|
+
local_var_path = '/key/list'
|
405
|
+
|
406
|
+
# query parameters
|
407
|
+
query_params = opts[:query_params] || {}
|
408
|
+
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
409
|
+
query_params[:'size'] = opts[:'size'] if !opts[:'size'].nil?
|
410
|
+
query_params[:'user_id'] = opts[:'user_id'] if !opts[:'user_id'].nil?
|
411
|
+
query_params[:'team_id'] = opts[:'team_id'] if !opts[:'team_id'].nil?
|
412
|
+
query_params[:'organization_id'] = opts[:'organization_id'] if !opts[:'organization_id'].nil?
|
413
|
+
query_params[:'key_hash'] = opts[:'key_hash'] if !opts[:'key_hash'].nil?
|
414
|
+
query_params[:'key_alias'] = opts[:'key_alias'] if !opts[:'key_alias'].nil?
|
415
|
+
query_params[:'return_full_object'] = opts[:'return_full_object'] if !opts[:'return_full_object'].nil?
|
416
|
+
query_params[:'include_team_keys'] = opts[:'include_team_keys'] if !opts[:'include_team_keys'].nil?
|
417
|
+
query_params[:'sort_by'] = opts[:'sort_by'] if !opts[:'sort_by'].nil?
|
418
|
+
query_params[:'sort_order'] = opts[:'sort_order'] if !opts[:'sort_order'].nil?
|
419
|
+
|
420
|
+
# header parameters
|
421
|
+
header_params = opts[:header_params] || {}
|
422
|
+
# HTTP header 'Accept' (if needed)
|
423
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
424
|
+
|
425
|
+
# form parameters
|
426
|
+
form_params = opts[:form_params] || {}
|
427
|
+
|
428
|
+
# http body (model)
|
429
|
+
post_body = opts[:debug_body]
|
430
|
+
|
431
|
+
# return_type
|
432
|
+
return_type = opts[:debug_return_type] || 'KeyListResponseObject'
|
433
|
+
|
434
|
+
# auth_names
|
435
|
+
auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
|
436
|
+
|
437
|
+
new_options = opts.merge(
|
438
|
+
:operation => :"KeyManagementApi.list_keys_key_list_get",
|
439
|
+
:header_params => header_params,
|
440
|
+
:query_params => query_params,
|
441
|
+
:form_params => form_params,
|
442
|
+
:body => post_body,
|
443
|
+
:auth_names => auth_names,
|
444
|
+
:return_type => return_type
|
445
|
+
)
|
446
|
+
|
447
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
448
|
+
if @api_client.config.debugging
|
449
|
+
@api_client.config.logger.debug "API called: KeyManagementApi#list_keys_key_list_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
450
|
+
end
|
451
|
+
return data, status_code, headers
|
452
|
+
end
|
453
|
+
|
454
|
+
# Regenerate Key Fn
|
455
|
+
# Regenerate an existing API key while optionally updating its parameters. Parameters: - key: str (path parameter) - The key to regenerate - data: Optional[RegenerateKeyRequest] - Request body containing optional parameters to update - key_alias: Optional[str] - User-friendly key alias - user_id: Optional[str] - User ID associated with key - team_id: Optional[str] - Team ID associated with key - models: Optional[list] - Model_name's a user is allowed to call - tags: Optional[List[str]] - Tags for organizing keys (Enterprise only) - spend: Optional[float] - Amount spent by key - max_budget: Optional[float] - Max budget for key - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {\"gpt-4\": {\"budget_limit\": 0.0005, \"time_period\": \"30d\"}} - budget_duration: Optional[str] - Budget reset period (\"30d\", \"1h\", etc.) - soft_budget: Optional[float] - Soft budget limit (warning vs. hard stop). Will trigger a slack alert when this soft budget is reached. - max_parallel_requests: Optional[int] - Rate limit for parallel requests - metadata: Optional[dict] - Metadata for key. Example {\"team\": \"core-infra\", \"app\": \"app2\"} - tpm_limit: Optional[int] - Tokens per minute limit - rpm_limit: Optional[int] - Requests per minute limit - model_rpm_limit: Optional[dict] - Model-specific RPM limits {\"gpt-4\": 100, \"claude-v1\": 200} - model_tpm_limit: Optional[dict] - Model-specific TPM limits {\"gpt-4\": 100000, \"claude-v1\": 200000} - allowed_cache_controls: Optional[list] - List of allowed cache control values - duration: Optional[str] - Key validity duration (\"30d\", \"1h\", etc.) - permissions: Optional[dict] - Key-specific permissions - guardrails: Optional[List[str]] - List of active guardrails for the key - blocked: Optional[bool] - Whether the key is blocked Returns: - GenerateKeyResponse containing the new key and its updated parameters Example: ```bash curl --location --request POST 'http://localhost:4000/key/sk-1234/regenerate' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data-raw '{ \"max_budget\": 100, \"metadata\": {\"team\": \"core-infra\"}, \"models\": [\"gpt-4\", \"gpt-3.5-turbo\"] }' ``` Note: This is an Enterprise feature. It requires a premium license to use.
|
456
|
+
# @param key [String]
|
457
|
+
# @param [Hash] opts the optional parameters
|
458
|
+
# @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
|
459
|
+
# @option opts [RegenerateKeyRequest] :regenerate_key_request
|
460
|
+
# @return [GenerateKeyResponse]
|
461
|
+
def regenerate_key_fn_key_key_regenerate_post(key, opts = {})
|
462
|
+
data, _status_code, _headers = regenerate_key_fn_key_key_regenerate_post_with_http_info(key, opts)
|
463
|
+
data
|
464
|
+
end
|
465
|
+
|
466
|
+
# Regenerate Key Fn
|
467
|
+
# Regenerate an existing API key while optionally updating its parameters. Parameters: - key: str (path parameter) - The key to regenerate - data: Optional[RegenerateKeyRequest] - Request body containing optional parameters to update - key_alias: Optional[str] - User-friendly key alias - user_id: Optional[str] - User ID associated with key - team_id: Optional[str] - Team ID associated with key - models: Optional[list] - Model_name's a user is allowed to call - tags: Optional[List[str]] - Tags for organizing keys (Enterprise only) - spend: Optional[float] - Amount spent by key - max_budget: Optional[float] - Max budget for key - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {\"gpt-4\": {\"budget_limit\": 0.0005, \"time_period\": \"30d\"}} - budget_duration: Optional[str] - Budget reset period (\"30d\", \"1h\", etc.) - soft_budget: Optional[float] - Soft budget limit (warning vs. hard stop). Will trigger a slack alert when this soft budget is reached. - max_parallel_requests: Optional[int] - Rate limit for parallel requests - metadata: Optional[dict] - Metadata for key. Example {\"team\": \"core-infra\", \"app\": \"app2\"} - tpm_limit: Optional[int] - Tokens per minute limit - rpm_limit: Optional[int] - Requests per minute limit - model_rpm_limit: Optional[dict] - Model-specific RPM limits {\"gpt-4\": 100, \"claude-v1\": 200} - model_tpm_limit: Optional[dict] - Model-specific TPM limits {\"gpt-4\": 100000, \"claude-v1\": 200000} - allowed_cache_controls: Optional[list] - List of allowed cache control values - duration: Optional[str] - Key validity duration (\"30d\", \"1h\", etc.) - permissions: Optional[dict] - Key-specific permissions - guardrails: Optional[List[str]] - List of active guardrails for the key - blocked: Optional[bool] - Whether the key is blocked Returns: - GenerateKeyResponse containing the new key and its updated parameters Example: ```bash curl --location --request POST 'http://localhost:4000/key/sk-1234/regenerate' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data-raw '{ \"max_budget\": 100, \"metadata\": {\"team\": \"core-infra\"}, \"models\": [\"gpt-4\", \"gpt-3.5-turbo\"] }' ``` Note: This is an Enterprise feature. It requires a premium license to use.
|
468
|
+
# @param key [String]
|
469
|
+
# @param [Hash] opts the optional parameters
|
470
|
+
# @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
|
471
|
+
# @option opts [RegenerateKeyRequest] :regenerate_key_request
|
472
|
+
# @return [Array<(GenerateKeyResponse, Integer, Hash)>] GenerateKeyResponse data, response status code and response headers
|
473
|
+
def regenerate_key_fn_key_key_regenerate_post_with_http_info(key, opts = {})
|
474
|
+
if @api_client.config.debugging
|
475
|
+
@api_client.config.logger.debug 'Calling API: KeyManagementApi.regenerate_key_fn_key_key_regenerate_post ...'
|
476
|
+
end
|
477
|
+
# resource path
|
478
|
+
local_var_path = '/key/{key}/regenerate'.sub('{' + 'key' + '}', CGI.escape(key.to_s))
|
479
|
+
|
480
|
+
# query parameters
|
481
|
+
query_params = opts[:query_params] || {}
|
482
|
+
|
483
|
+
# header parameters
|
484
|
+
header_params = opts[:header_params] || {}
|
485
|
+
# HTTP header 'Accept' (if needed)
|
486
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
487
|
+
# HTTP header 'Content-Type'
|
488
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
489
|
+
if !content_type.nil?
|
490
|
+
header_params['Content-Type'] = content_type
|
491
|
+
end
|
492
|
+
header_params[:'litellm-changed-by'] = opts[:'litellm_changed_by'] if !opts[:'litellm_changed_by'].nil?
|
493
|
+
|
494
|
+
# form parameters
|
495
|
+
form_params = opts[:form_params] || {}
|
496
|
+
|
497
|
+
# http body (model)
|
498
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'regenerate_key_request'])
|
499
|
+
|
500
|
+
# return_type
|
501
|
+
return_type = opts[:debug_return_type] || 'GenerateKeyResponse'
|
502
|
+
|
503
|
+
# auth_names
|
504
|
+
auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
|
505
|
+
|
506
|
+
new_options = opts.merge(
|
507
|
+
:operation => :"KeyManagementApi.regenerate_key_fn_key_key_regenerate_post",
|
508
|
+
:header_params => header_params,
|
509
|
+
:query_params => query_params,
|
510
|
+
:form_params => form_params,
|
511
|
+
:body => post_body,
|
512
|
+
:auth_names => auth_names,
|
513
|
+
:return_type => return_type
|
514
|
+
)
|
515
|
+
|
516
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
517
|
+
if @api_client.config.debugging
|
518
|
+
@api_client.config.logger.debug "API called: KeyManagementApi#regenerate_key_fn_key_key_regenerate_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
519
|
+
end
|
520
|
+
return data, status_code, headers
|
521
|
+
end
|
522
|
+
|
523
|
+
# Regenerate Key Fn
|
524
|
+
# Regenerate an existing API key while optionally updating its parameters. Parameters: - key: str (path parameter) - The key to regenerate - data: Optional[RegenerateKeyRequest] - Request body containing optional parameters to update - key_alias: Optional[str] - User-friendly key alias - user_id: Optional[str] - User ID associated with key - team_id: Optional[str] - Team ID associated with key - models: Optional[list] - Model_name's a user is allowed to call - tags: Optional[List[str]] - Tags for organizing keys (Enterprise only) - spend: Optional[float] - Amount spent by key - max_budget: Optional[float] - Max budget for key - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {\"gpt-4\": {\"budget_limit\": 0.0005, \"time_period\": \"30d\"}} - budget_duration: Optional[str] - Budget reset period (\"30d\", \"1h\", etc.) - soft_budget: Optional[float] - Soft budget limit (warning vs. hard stop). Will trigger a slack alert when this soft budget is reached. - max_parallel_requests: Optional[int] - Rate limit for parallel requests - metadata: Optional[dict] - Metadata for key. Example {\"team\": \"core-infra\", \"app\": \"app2\"} - tpm_limit: Optional[int] - Tokens per minute limit - rpm_limit: Optional[int] - Requests per minute limit - model_rpm_limit: Optional[dict] - Model-specific RPM limits {\"gpt-4\": 100, \"claude-v1\": 200} - model_tpm_limit: Optional[dict] - Model-specific TPM limits {\"gpt-4\": 100000, \"claude-v1\": 200000} - allowed_cache_controls: Optional[list] - List of allowed cache control values - duration: Optional[str] - Key validity duration (\"30d\", \"1h\", etc.) - permissions: Optional[dict] - Key-specific permissions - guardrails: Optional[List[str]] - List of active guardrails for the key - blocked: Optional[bool] - Whether the key is blocked Returns: - GenerateKeyResponse containing the new key and its updated parameters Example: ```bash curl --location --request POST 'http://localhost:4000/key/sk-1234/regenerate' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data-raw '{ \"max_budget\": 100, \"metadata\": {\"team\": \"core-infra\"}, \"models\": [\"gpt-4\", \"gpt-3.5-turbo\"] }' ``` Note: This is an Enterprise feature. It requires a premium license to use.
|
525
|
+
# @param [Hash] opts the optional parameters
|
526
|
+
# @option opts [String] :key
|
527
|
+
# @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
|
528
|
+
# @option opts [RegenerateKeyRequest] :regenerate_key_request
|
529
|
+
# @return [GenerateKeyResponse]
|
530
|
+
def regenerate_key_fn_key_regenerate_post(opts = {})
|
531
|
+
data, _status_code, _headers = regenerate_key_fn_key_regenerate_post_with_http_info(opts)
|
532
|
+
data
|
533
|
+
end
|
534
|
+
|
535
|
+
# Regenerate Key Fn
|
536
|
+
# Regenerate an existing API key while optionally updating its parameters. Parameters: - key: str (path parameter) - The key to regenerate - data: Optional[RegenerateKeyRequest] - Request body containing optional parameters to update - key_alias: Optional[str] - User-friendly key alias - user_id: Optional[str] - User ID associated with key - team_id: Optional[str] - Team ID associated with key - models: Optional[list] - Model_name's a user is allowed to call - tags: Optional[List[str]] - Tags for organizing keys (Enterprise only) - spend: Optional[float] - Amount spent by key - max_budget: Optional[float] - Max budget for key - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {\"gpt-4\": {\"budget_limit\": 0.0005, \"time_period\": \"30d\"}} - budget_duration: Optional[str] - Budget reset period (\"30d\", \"1h\", etc.) - soft_budget: Optional[float] - Soft budget limit (warning vs. hard stop). Will trigger a slack alert when this soft budget is reached. - max_parallel_requests: Optional[int] - Rate limit for parallel requests - metadata: Optional[dict] - Metadata for key. Example {\"team\": \"core-infra\", \"app\": \"app2\"} - tpm_limit: Optional[int] - Tokens per minute limit - rpm_limit: Optional[int] - Requests per minute limit - model_rpm_limit: Optional[dict] - Model-specific RPM limits {\"gpt-4\": 100, \"claude-v1\": 200} - model_tpm_limit: Optional[dict] - Model-specific TPM limits {\"gpt-4\": 100000, \"claude-v1\": 200000} - allowed_cache_controls: Optional[list] - List of allowed cache control values - duration: Optional[str] - Key validity duration (\"30d\", \"1h\", etc.) - permissions: Optional[dict] - Key-specific permissions - guardrails: Optional[List[str]] - List of active guardrails for the key - blocked: Optional[bool] - Whether the key is blocked Returns: - GenerateKeyResponse containing the new key and its updated parameters Example: ```bash curl --location --request POST 'http://localhost:4000/key/sk-1234/regenerate' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data-raw '{ \"max_budget\": 100, \"metadata\": {\"team\": \"core-infra\"}, \"models\": [\"gpt-4\", \"gpt-3.5-turbo\"] }' ``` Note: This is an Enterprise feature. It requires a premium license to use.
|
537
|
+
# @param [Hash] opts the optional parameters
|
538
|
+
# @option opts [String] :key
|
539
|
+
# @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
|
540
|
+
# @option opts [RegenerateKeyRequest] :regenerate_key_request
|
541
|
+
# @return [Array<(GenerateKeyResponse, Integer, Hash)>] GenerateKeyResponse data, response status code and response headers
|
542
|
+
def regenerate_key_fn_key_regenerate_post_with_http_info(opts = {})
|
543
|
+
if @api_client.config.debugging
|
544
|
+
@api_client.config.logger.debug 'Calling API: KeyManagementApi.regenerate_key_fn_key_regenerate_post ...'
|
545
|
+
end
|
546
|
+
# resource path
|
547
|
+
local_var_path = '/key/regenerate'
|
548
|
+
|
549
|
+
# query parameters
|
550
|
+
query_params = opts[:query_params] || {}
|
551
|
+
query_params[:'key'] = opts[:'key'] if !opts[:'key'].nil?
|
552
|
+
|
553
|
+
# header parameters
|
554
|
+
header_params = opts[:header_params] || {}
|
555
|
+
# HTTP header 'Accept' (if needed)
|
556
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
557
|
+
# HTTP header 'Content-Type'
|
558
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
559
|
+
if !content_type.nil?
|
560
|
+
header_params['Content-Type'] = content_type
|
561
|
+
end
|
562
|
+
header_params[:'litellm-changed-by'] = opts[:'litellm_changed_by'] if !opts[:'litellm_changed_by'].nil?
|
563
|
+
|
564
|
+
# form parameters
|
565
|
+
form_params = opts[:form_params] || {}
|
566
|
+
|
567
|
+
# http body (model)
|
568
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'regenerate_key_request'])
|
569
|
+
|
570
|
+
# return_type
|
571
|
+
return_type = opts[:debug_return_type] || 'GenerateKeyResponse'
|
572
|
+
|
573
|
+
# auth_names
|
574
|
+
auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
|
575
|
+
|
576
|
+
new_options = opts.merge(
|
577
|
+
:operation => :"KeyManagementApi.regenerate_key_fn_key_regenerate_post",
|
578
|
+
:header_params => header_params,
|
579
|
+
:query_params => query_params,
|
580
|
+
:form_params => form_params,
|
581
|
+
:body => post_body,
|
582
|
+
:auth_names => auth_names,
|
583
|
+
:return_type => return_type
|
584
|
+
)
|
585
|
+
|
586
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
587
|
+
if @api_client.config.debugging
|
588
|
+
@api_client.config.logger.debug "API called: KeyManagementApi#regenerate_key_fn_key_regenerate_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
589
|
+
end
|
590
|
+
return data, status_code, headers
|
591
|
+
end
|
592
|
+
|
593
|
+
# Unblock Key
|
594
|
+
# Unblock a Virtual key to allow it to make requests again. Parameters: - key: str - The key to unblock. Can be either the unhashed key (sk-...) or the hashed key value Example: ```bash curl --location 'http://0.0.0.0:4000/key/unblock' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"key\": \"sk-Fn8Ej39NxjAXrvpUGKghGw\" }' ``` Note: This is an admin-only endpoint. Only proxy admins can unblock keys.
|
595
|
+
# @param block_key_request [BlockKeyRequest]
|
596
|
+
# @param [Hash] opts the optional parameters
|
597
|
+
# @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
|
598
|
+
# @return [Object]
|
599
|
+
def unblock_key_key_unblock_post(block_key_request, opts = {})
|
600
|
+
data, _status_code, _headers = unblock_key_key_unblock_post_with_http_info(block_key_request, opts)
|
601
|
+
data
|
602
|
+
end
|
603
|
+
|
604
|
+
# Unblock Key
|
605
|
+
# Unblock a Virtual key to allow it to make requests again. Parameters: - key: str - The key to unblock. Can be either the unhashed key (sk-...) or the hashed key value Example: ```bash curl --location 'http://0.0.0.0:4000/key/unblock' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"key\": \"sk-Fn8Ej39NxjAXrvpUGKghGw\" }' ``` Note: This is an admin-only endpoint. Only proxy admins can unblock keys.
|
606
|
+
# @param block_key_request [BlockKeyRequest]
|
607
|
+
# @param [Hash] opts the optional parameters
|
608
|
+
# @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
|
609
|
+
# @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
|
610
|
+
def unblock_key_key_unblock_post_with_http_info(block_key_request, opts = {})
|
611
|
+
if @api_client.config.debugging
|
612
|
+
@api_client.config.logger.debug 'Calling API: KeyManagementApi.unblock_key_key_unblock_post ...'
|
613
|
+
end
|
614
|
+
# verify the required parameter 'block_key_request' is set
|
615
|
+
if @api_client.config.client_side_validation && block_key_request.nil?
|
616
|
+
fail ArgumentError, "Missing the required parameter 'block_key_request' when calling KeyManagementApi.unblock_key_key_unblock_post"
|
617
|
+
end
|
618
|
+
# resource path
|
619
|
+
local_var_path = '/key/unblock'
|
620
|
+
|
621
|
+
# query parameters
|
622
|
+
query_params = opts[:query_params] || {}
|
623
|
+
|
624
|
+
# header parameters
|
625
|
+
header_params = opts[:header_params] || {}
|
626
|
+
# HTTP header 'Accept' (if needed)
|
627
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
628
|
+
# HTTP header 'Content-Type'
|
629
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
630
|
+
if !content_type.nil?
|
631
|
+
header_params['Content-Type'] = content_type
|
632
|
+
end
|
633
|
+
header_params[:'litellm-changed-by'] = opts[:'litellm_changed_by'] if !opts[:'litellm_changed_by'].nil?
|
634
|
+
|
635
|
+
# form parameters
|
636
|
+
form_params = opts[:form_params] || {}
|
637
|
+
|
638
|
+
# http body (model)
|
639
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(block_key_request)
|
640
|
+
|
641
|
+
# return_type
|
642
|
+
return_type = opts[:debug_return_type] || 'Object'
|
643
|
+
|
644
|
+
# auth_names
|
645
|
+
auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
|
646
|
+
|
647
|
+
new_options = opts.merge(
|
648
|
+
:operation => :"KeyManagementApi.unblock_key_key_unblock_post",
|
649
|
+
:header_params => header_params,
|
650
|
+
:query_params => query_params,
|
651
|
+
:form_params => form_params,
|
652
|
+
:body => post_body,
|
653
|
+
:auth_names => auth_names,
|
654
|
+
:return_type => return_type
|
655
|
+
)
|
656
|
+
|
657
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
658
|
+
if @api_client.config.debugging
|
659
|
+
@api_client.config.logger.debug "API called: KeyManagementApi#unblock_key_key_unblock_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
660
|
+
end
|
661
|
+
return data, status_code, headers
|
662
|
+
end
|
663
|
+
|
664
|
+
# Update Key Fn
|
665
|
+
# Update an existing API key's parameters. Parameters: - key: str - The key to update - key_alias: Optional[str] - User-friendly key alias - user_id: Optional[str] - User ID associated with key - team_id: Optional[str] - Team ID associated with key - budget_id: Optional[str] - The budget id associated with the key. Created by calling `/budget/new`. - models: Optional[list] - Model_name's a user is allowed to call - tags: Optional[List[str]] - Tags for organizing keys (Enterprise only) - enforced_params: Optional[List[str]] - List of enforced params for the key (Enterprise only). [Docs](https://docs.litellm.ai/docs/proxy/enterprise#enforce-required-params-for-llm-requests) - spend: Optional[float] - Amount spent by key - max_budget: Optional[float] - Max budget for key - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {\"gpt-4\": {\"budget_limit\": 0.0005, \"time_period\": \"30d\"}} - budget_duration: Optional[str] - Budget reset period (\"30d\", \"1h\", etc.) - soft_budget: Optional[float] - [TODO] Soft budget limit (warning vs. hard stop). Will trigger a slack alert when this soft budget is reached. - max_parallel_requests: Optional[int] - Rate limit for parallel requests - metadata: Optional[dict] - Metadata for key. Example {\"team\": \"core-infra\", \"app\": \"app2\"} - tpm_limit: Optional[int] - Tokens per minute limit - rpm_limit: Optional[int] - Requests per minute limit - model_rpm_limit: Optional[dict] - Model-specific RPM limits {\"gpt-4\": 100, \"claude-v1\": 200} - model_tpm_limit: Optional[dict] - Model-specific TPM limits {\"gpt-4\": 100000, \"claude-v1\": 200000} - allowed_cache_controls: Optional[list] - List of allowed cache control values - duration: Optional[str] - Key validity duration (\"30d\", \"1h\", etc.) - permissions: Optional[dict] - Key-specific permissions - send_invite_email: Optional[bool] - Send invite email to user_id - guardrails: Optional[List[str]] - List of active guardrails for the key - blocked: Optional[bool] - Whether the key is blocked - aliases: Optional[dict] - Model aliases for the key - [Docs](https://litellm.vercel.app/docs/proxy/virtual_keys#model-aliases) - config: Optional[dict] - [DEPRECATED PARAM] Key-specific config. - temp_budget_increase: Optional[float] - Temporary budget increase for the key (Enterprise only). - temp_budget_expiry: Optional[str] - Expiry time for the temporary budget increase (Enterprise only). - allowed_routes: Optional[list] - List of allowed routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - [\"/chat/completions\", \"/embeddings\", \"/keys/*\"] - object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission. Example: ```bash curl --location 'http://0.0.0.0:4000/key/update' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"key\": \"sk-1234\", \"key_alias\": \"my-key\", \"user_id\": \"user-1234\", \"team_id\": \"team-1234\", \"max_budget\": 100, \"metadata\": {\"any_key\": \"any-val\"}, }' ```
|
666
|
+
# @param update_key_request [UpdateKeyRequest]
|
667
|
+
# @param [Hash] opts the optional parameters
|
668
|
+
# @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
|
669
|
+
# @return [Object]
|
670
|
+
def update_key_fn_key_update_post(update_key_request, opts = {})
|
671
|
+
data, _status_code, _headers = update_key_fn_key_update_post_with_http_info(update_key_request, opts)
|
672
|
+
data
|
673
|
+
end
|
674
|
+
|
675
|
+
# Update Key Fn
|
676
|
+
# Update an existing API key's parameters. Parameters: - key: str - The key to update - key_alias: Optional[str] - User-friendly key alias - user_id: Optional[str] - User ID associated with key - team_id: Optional[str] - Team ID associated with key - budget_id: Optional[str] - The budget id associated with the key. Created by calling `/budget/new`. - models: Optional[list] - Model_name's a user is allowed to call - tags: Optional[List[str]] - Tags for organizing keys (Enterprise only) - enforced_params: Optional[List[str]] - List of enforced params for the key (Enterprise only). [Docs](https://docs.litellm.ai/docs/proxy/enterprise#enforce-required-params-for-llm-requests) - spend: Optional[float] - Amount spent by key - max_budget: Optional[float] - Max budget for key - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {\"gpt-4\": {\"budget_limit\": 0.0005, \"time_period\": \"30d\"}} - budget_duration: Optional[str] - Budget reset period (\"30d\", \"1h\", etc.) - soft_budget: Optional[float] - [TODO] Soft budget limit (warning vs. hard stop). Will trigger a slack alert when this soft budget is reached. - max_parallel_requests: Optional[int] - Rate limit for parallel requests - metadata: Optional[dict] - Metadata for key. Example {\"team\": \"core-infra\", \"app\": \"app2\"} - tpm_limit: Optional[int] - Tokens per minute limit - rpm_limit: Optional[int] - Requests per minute limit - model_rpm_limit: Optional[dict] - Model-specific RPM limits {\"gpt-4\": 100, \"claude-v1\": 200} - model_tpm_limit: Optional[dict] - Model-specific TPM limits {\"gpt-4\": 100000, \"claude-v1\": 200000} - allowed_cache_controls: Optional[list] - List of allowed cache control values - duration: Optional[str] - Key validity duration (\"30d\", \"1h\", etc.) - permissions: Optional[dict] - Key-specific permissions - send_invite_email: Optional[bool] - Send invite email to user_id - guardrails: Optional[List[str]] - List of active guardrails for the key - blocked: Optional[bool] - Whether the key is blocked - aliases: Optional[dict] - Model aliases for the key - [Docs](https://litellm.vercel.app/docs/proxy/virtual_keys#model-aliases) - config: Optional[dict] - [DEPRECATED PARAM] Key-specific config. - temp_budget_increase: Optional[float] - Temporary budget increase for the key (Enterprise only). - temp_budget_expiry: Optional[str] - Expiry time for the temporary budget increase (Enterprise only). - allowed_routes: Optional[list] - List of allowed routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - [\"/chat/completions\", \"/embeddings\", \"/keys/*\"] - object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission. Example: ```bash curl --location 'http://0.0.0.0:4000/key/update' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ \"key\": \"sk-1234\", \"key_alias\": \"my-key\", \"user_id\": \"user-1234\", \"team_id\": \"team-1234\", \"max_budget\": 100, \"metadata\": {\"any_key\": \"any-val\"}, }' ```
|
677
|
+
# @param update_key_request [UpdateKeyRequest]
|
678
|
+
# @param [Hash] opts the optional parameters
|
679
|
+
# @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
|
680
|
+
# @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
|
681
|
+
def update_key_fn_key_update_post_with_http_info(update_key_request, opts = {})
|
682
|
+
if @api_client.config.debugging
|
683
|
+
@api_client.config.logger.debug 'Calling API: KeyManagementApi.update_key_fn_key_update_post ...'
|
684
|
+
end
|
685
|
+
# verify the required parameter 'update_key_request' is set
|
686
|
+
if @api_client.config.client_side_validation && update_key_request.nil?
|
687
|
+
fail ArgumentError, "Missing the required parameter 'update_key_request' when calling KeyManagementApi.update_key_fn_key_update_post"
|
688
|
+
end
|
689
|
+
# resource path
|
690
|
+
local_var_path = '/key/update'
|
691
|
+
|
692
|
+
# query parameters
|
693
|
+
query_params = opts[:query_params] || {}
|
694
|
+
|
695
|
+
# header parameters
|
696
|
+
header_params = opts[:header_params] || {}
|
697
|
+
# HTTP header 'Accept' (if needed)
|
698
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
699
|
+
# HTTP header 'Content-Type'
|
700
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
701
|
+
if !content_type.nil?
|
702
|
+
header_params['Content-Type'] = content_type
|
703
|
+
end
|
704
|
+
header_params[:'litellm-changed-by'] = opts[:'litellm_changed_by'] if !opts[:'litellm_changed_by'].nil?
|
705
|
+
|
706
|
+
# form parameters
|
707
|
+
form_params = opts[:form_params] || {}
|
708
|
+
|
709
|
+
# http body (model)
|
710
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(update_key_request)
|
711
|
+
|
712
|
+
# return_type
|
713
|
+
return_type = opts[:debug_return_type] || 'Object'
|
714
|
+
|
715
|
+
# auth_names
|
716
|
+
auth_names = opts[:debug_auth_names] || ['APIKeyHeader']
|
717
|
+
|
718
|
+
new_options = opts.merge(
|
719
|
+
:operation => :"KeyManagementApi.update_key_fn_key_update_post",
|
720
|
+
:header_params => header_params,
|
721
|
+
:query_params => query_params,
|
722
|
+
:form_params => form_params,
|
723
|
+
:body => post_body,
|
724
|
+
:auth_names => auth_names,
|
725
|
+
:return_type => return_type
|
726
|
+
)
|
727
|
+
|
728
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
729
|
+
if @api_client.config.debugging
|
730
|
+
@api_client.config.logger.debug "API called: KeyManagementApi#update_key_fn_key_update_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
731
|
+
end
|
732
|
+
return data, status_code, headers
|
733
|
+
end
|
734
|
+
end
|
735
|
+
end
|