openapi: 3.2.0 info: title: LiteLLM Search Tools API description: "Enterprise Edition \n\nProxy Server to call 100+ LLMs in the OpenAI format. [**Customize Swagger Docs**](https://docs.litellm.ai/docs/proxy/enterprise#swagger-docs---custom-routes--branding)\n\n\U0001F449 [```LiteLLM Admin Panel on /ui```](/ui). Create, Edit Keys with SSO. Having issues? Try [```Fallback Login```](/fallback/login)\n\n\U0001F4B8 [```LiteLLM Model Cost Map```](https://models.litellm.ai/).\n\n\U0001F50E [```LiteLLM Model Hub```](/ui/model_hub_table). See available models on the proxy. [**Docs**](https://docs.litellm.ai/docs/proxy/ai_hub)" version: 1.95.0 x-operator: institution x-provenance: method: probed source: https://llmproxy.uva.nl/openapi.json retrieved: '2026-08-19' note: Document is generated by the LiteLLM proxy software the University of Amsterdam self-hosts; the deployment, the key issuance and the host (llmproxy.uva.nl, UvA Azure) are the institution's. servers[] added by API Evangelist because the served document omits it; nothing else altered. servers: - url: https://llmproxy.uva.nl description: University of Amsterdam / Amsterdam University of Applied Sciences shared AI gateway tags: - name: search_tools paths: /search_tools: post: description: "Create a new search tool.\n\nExample Request:\n```bash\ncurl -X POST \"http://localhost:4000/search_tools\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"search_tool\": {\n \"search_tool_name\": \"litellm-search\",\n \"litellm_params\": {\n \"search_provider\": \"perplexity\",\n \"api_key\": \"sk-...\"\n },\n \"search_tool_info\": {\n \"description\": \"Perplexity search tool\"\n }\n }\n }'\n```\n\nExample Response:\n```json\n{\n \"search_tool_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"search_tool_name\": \"litellm-search\",\n \"litellm_params\": {\n \"search_provider\": \"perplexity\",\n \"api_key\": \"sk-...\"\n },\n \"search_tool_info\": {\n \"description\": \"Perplexity search tool\"\n },\n \"created_at\": \"2023-11-09T12:34:56.789Z\",\n \"updated_at\": \"2023-11-09T12:34:56.789Z\"\n}\n```" operationId: create_search_tool_search_tools_post requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSearchToolRequest' required: true responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Create Search Tool tags: - search_tools /search_tools/list: get: description: "List all search tools that are available in the database and config file.\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/search_tools/list\" -H \"Authorization: Bearer \"\n```\n\nExample Response:\n```json\n{\n \"search_tools\": [\n {\n \"search_tool_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"search_tool_name\": \"litellm-search\",\n \"litellm_params\": {\n \"search_provider\": \"perplexity\",\n \"api_key\": \"sk-***\",\n \"api_base\": \"https://api.perplexity.ai\"\n },\n \"search_tool_info\": {\n \"description\": \"Perplexity search tool\"\n },\n \"created_at\": \"2023-11-09T12:34:56.789Z\",\n \"updated_at\": \"2023-11-09T12:34:56.789Z\",\n \"is_from_config\": false\n },\n {\n \"search_tool_name\": \"config-search-tool\",\n \"litellm_params\": {\n \"search_provider\": \"tavily\",\n \"api_key\": \"tvly-***\"\n },\n \"is_from_config\": true\n }\n ]\n}\n```" operationId: list_search_tools_search_tools_list_get responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListSearchToolsResponse' description: Successful Response security: - APIKeyHeader: [] summary: List Search Tools tags: - search_tools /search_tools/test_connection: post: description: "Test connection to a search provider with the given configuration.\n\nMakes a simple test search query to verify the API key and configuration are valid.\n\nExample Request:\n```bash\ncurl -X POST \"http://localhost:4000/search_tools/test_connection\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"litellm_params\": {\n \"search_provider\": \"perplexity\",\n \"api_key\": \"sk-...\"\n }\n }'\n```\n\nExample Response (Success):\n```json\n{\n \"status\": \"success\",\n \"message\": \"Successfully connected to perplexity search provider\",\n \"test_query\": \"test\",\n \"results_count\": 5\n}\n```\n\nExample Response (Failure):\n```json\n{\n \"status\": \"error\",\n \"message\": \"Authentication failed: Invalid API key\",\n \"error_type\": \"AuthenticationError\"\n}\n```" operationId: test_search_tool_connection_search_tools_test_connection_post requestBody: content: application/json: schema: $ref: '#/components/schemas/TestSearchToolConnectionRequest' required: true responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Test Search Tool Connection tags: - search_tools /search_tools/ui/available_providers: get: description: "Get the list of available search providers with their configuration fields.\n\nAuto-discovers search providers and their UI-friendly names from transformation configs.\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/search_tools/ui/available_providers\" \\\n -H \"Authorization: Bearer \"\n```\n\nExample Response:\n```json\n{\n \"providers\": [\n {\n \"provider_name\": \"perplexity\",\n \"ui_friendly_name\": \"Perplexity\"\n },\n {\n \"provider_name\": \"tavily\",\n \"ui_friendly_name\": \"Tavily\"\n }\n ]\n}\n```" operationId: get_available_search_providers_search_tools_ui_available_providers_get responses: '200': content: application/json: schema: {} description: Successful Response security: - APIKeyHeader: [] summary: Get Available Search Providers tags: - search_tools /search_tools/{search_tool_id}: delete: description: "Delete a search tool.\n\nExample Request:\n```bash\ncurl -X DELETE \"http://localhost:4000/search_tools/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \"\n```\n\nExample Response:\n```json\n{\n \"message\": \"Search tool 123e4567-e89b-12d3-a456-426614174000 deleted successfully\",\n \"search_tool_name\": \"litellm-search\"\n}\n```" operationId: delete_search_tool_search_tools__search_tool_id__delete parameters: - in: path name: search_tool_id required: true schema: title: Search Tool Id type: string responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Delete Search Tool tags: - search_tools get: description: "Get detailed information about a specific search tool by ID.\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/search_tools/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \"\n```\n\nExample Response:\n```json\n{\n \"search_tool_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"search_tool_name\": \"litellm-search\",\n \"litellm_params\": {\n \"search_provider\": \"perplexity\",\n \"api_key\": \"sk-***\"\n },\n \"search_tool_info\": {\n \"description\": \"Perplexity search tool\"\n },\n \"created_at\": \"2023-11-09T12:34:56.789Z\",\n \"updated_at\": \"2023-11-09T12:34:56.789Z\"\n}\n```" operationId: get_search_tool_info_search_tools__search_tool_id__get parameters: - in: path name: search_tool_id required: true schema: title: Search Tool Id type: string responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Search Tool Info tags: - search_tools put: description: "Update an existing search tool.\n\nExample Request:\n```bash\ncurl -X PUT \"http://localhost:4000/search_tools/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"search_tool\": {\n \"search_tool_name\": \"updated-search\",\n \"litellm_params\": {\n \"search_provider\": \"perplexity\",\n \"api_key\": \"sk-new-key\"\n },\n \"search_tool_info\": {\n \"description\": \"Updated search tool\"\n }\n }\n }'\n```\n\nExample Response:\n```json\n{\n \"search_tool_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"search_tool_name\": \"updated-search\",\n \"litellm_params\": {\n \"search_provider\": \"perplexity\",\n \"api_key\": \"sk-new-key\"\n },\n \"search_tool_info\": {\n \"description\": \"Updated search tool\"\n },\n \"created_at\": \"2023-11-09T12:34:56.789Z\",\n \"updated_at\": \"2023-11-09T13:45:12.345Z\"\n}\n```" operationId: update_search_tool_search_tools__search_tool_id__put parameters: - in: path name: search_tool_id required: true schema: title: Search Tool Id type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateSearchToolRequest' required: true responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Update Search Tool tags: - search_tools components: schemas: SearchTool: description: "Search tool configuration.\n\nExample:\n {\n \"search_tool_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"search_tool_name\": \"litellm-search\",\n \"litellm_params\": {\n \"search_provider\": \"perplexity\",\n \"api_key\": \"sk-...\"\n },\n \"search_tool_info\": {\n \"description\": \"Perplexity search tool\"\n }\n }" properties: created_at: anyOf: - type: string - type: 'null' title: Created At litellm_params: $ref: '#/components/schemas/SearchToolLiteLLMParams' search_tool_id: anyOf: - type: string - type: 'null' title: Search Tool Id search_tool_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Search Tool Info search_tool_name: title: Search Tool Name type: string updated_at: anyOf: - type: string - type: 'null' title: Updated At required: - search_tool_name - litellm_params title: SearchTool type: object TestSearchToolConnectionRequest: properties: litellm_params: additionalProperties: true title: Litellm Params type: object required: - litellm_params title: TestSearchToolConnectionRequest type: object UpdateSearchToolRequest: properties: search_tool: $ref: '#/components/schemas/SearchTool' required: - search_tool title: UpdateSearchToolRequest type: object ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError SearchToolLiteLLMParams: description: LiteLLM params for search tools configuration. properties: api_base: anyOf: - type: string - type: 'null' title: Api Base api_key: anyOf: - type: string - type: 'null' title: Api Key max_retries: anyOf: - type: integer - type: 'null' title: Max Retries search_provider: title: Search Provider type: string timeout: anyOf: - type: number - type: 'null' title: Timeout required: - search_provider title: SearchToolLiteLLMParams type: object ListSearchToolsResponse: description: Response model for listing search tools. properties: search_tools: items: $ref: '#/components/schemas/SearchToolInfoResponse' title: Search Tools type: array required: - search_tools title: ListSearchToolsResponse type: object CreateSearchToolRequest: properties: search_tool: $ref: '#/components/schemas/SearchTool' required: - search_tool title: CreateSearchToolRequest type: object HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError SearchToolInfoResponse: description: Response model for search tool information. properties: created_at: anyOf: - type: string - type: 'null' title: Created At is_from_config: anyOf: - type: boolean - type: 'null' title: Is From Config litellm_params: additionalProperties: true title: Litellm Params type: object search_tool_id: anyOf: - type: string - type: 'null' title: Search Tool Id search_tool_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Search Tool Info search_tool_name: title: Search Tool Name type: string updated_at: anyOf: - type: string - type: 'null' title: Updated At title: SearchToolInfoResponse type: object securitySchemes: APIKeyHeader: type: apiKey description: Bearer token in: header name: x-litellm-api-key