> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://api.qdrant.tech/v-1-17-x/api-reference/aliases/update-aliases/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://api.qdrant.tech/_mcp/server. # Update collection aliases POST http://localhost:6333/collections/aliases Content-Type: application/json Updates aliases for the specified collections. Reference: https://api.qdrant.tech/api-reference/aliases/update-aliases ## Authentication - `api-key` header (required) — API Key authentication via header ## Servers - `http://localhost:6333` (http, default) - `https://localhost:6333` (https) ## Request ### Query parameters - `timeout` (integer, optional) — Wait for operation commit timeout in seconds. If timeout is reached - request will return with service error. ### Body (application/json) This endpoint expects a ChangeAliasesOperation. - `actions` (list of AliasOperations, required) ## Response ### 200 successful operation - `usage` (CollectionsAliasesPostResponsesContentApplicationJsonSchemaUsage, optional) - `time` (double, optional) — Time spent to process this request - `status` (string, optional) - `result` (boolean, optional) ## Types ### AliasOperations Group of all the possible operations related to collection aliases ### CollectionsAliasesPostResponsesContentApplicationJsonSchemaUsage ### CreateAliasOperation - `create_alias` (CreateAlias, required) — Create alternative name for a collection. Collection will be available under both names for search, retrieve, ### DeleteAliasOperation Delete alias if exists - `delete_alias` (DeleteAlias, required) — Delete alias if exists ### RenameAliasOperation Change alias to a new one - `rename_alias` (RenameAlias, required) — Change alias to a new one ### Usage Usage of the hardware resources, spent to process the request - `hardware` (UsageHardware, optional) - `inference` (UsageInference, optional) ### CreateAlias Create alternative name for a collection. Collection will be available under both names for search, retrieve, - `collection_name` (string, required) - `alias_name` (string, required) ### DeleteAlias Delete alias if exists - `alias_name` (string, required) ### RenameAlias Change alias to a new one - `old_alias_name` (string, required) - `new_alias_name` (string, required) ### UsageHardware ### UsageInference ### HardwareUsage Usage of the hardware resources, spent to process the request - `cpu` (integer, required) - `payload_io_read` (integer, required) - `payload_io_write` (integer, required) - `payload_index_io_read` (integer, required) - `payload_index_io_write` (integer, required) - `vector_io_read` (integer, required) - `vector_io_write` (integer, required) ### InferenceUsage - `models` (map from string to ModelUsage, required) ### ModelUsage - `tokens` (uint64, required) ## Examples **Request** ```json { "actions": [ { "create_alias": { "collection_name": "string", "alias_name": "string" } } ] } ``` **Response** ```json { "usage": { "hardware": { "cpu": 1, "payload_io_read": 1, "payload_io_write": 1, "payload_index_io_read": 1, "payload_index_io_write": 1, "vector_io_read": 1, "vector_io_write": 1 }, "inference": { "models": {} } }, "time": 0.002, "status": "ok", "result": true } ``` **SDK Code** ```python from qdrant_client import QdrantClient client = QdrantClient(url="http://localhost:6333") client.update_collection_aliases( change_aliases_operations=[ models.CreateAliasOperation( create_alias=models.CreateAlias( collection_name="example_collection", alias_name="production_collection" ) ) ] ) client.update_collection_aliases( change_aliases_operations=[ models.DeleteAliasOperation( delete_alias=models.DeleteAlias(alias_name="production_collection") ), ] ) ``` ```java import static io.qdrant.client.ShardKeyFactory.shardKey; import io.qdrant.client.QdrantClient; import io.qdrant.client.QdrantGrpcClient; import io.qdrant.client.grpc.Collections.DeleteShardKey; import io.qdrant.client.grpc.Collections.DeleteShardKeyRequest; QdrantClient client = new QdrantClient( QdrantGrpcClient.newBuilder("localhost", 6334, false).build()); client.createAliasAsync("production_collection", "example_collection").get(); client.deleteAliasAsync("production_collection").get(); ``` ```go package client import ( "context" "github.com/qdrant/go-client/qdrant" ) func updateAlias() { client, err := qdrant.NewClient(&qdrant.Config{ Host: "localhost", Port: 6334, }) if err != nil { panic(err) } err = client.CreateAlias(context.Background(), "production_collection", "example_collection") if err != nil { panic(err) } err = client.DeleteAlias(context.Background(), "production_collection") if err != nil { panic(err) } err = client.RenameAlias(context.Background(), "production_collection", "legacy_collection") if err != nil { panic(err) } } ``` ```typescript import { QdrantClient } from "@qdrant/js-client-rest"; const client = new QdrantClient({ host: "localhost", port: 6333 }); client.updateCollectionAliases({ actions: [ { create_alias: { collection_name: "example_collection", alias_name: "production_collection", }, }, ], }); client.updateCollectionAliases({ actions: [ { delete_alias: { alias_name: "production_collection", }, }, ], }); ``` ```rust use qdrant_client::qdrant::{CreateAliasBuilder, DeleteAlias}; use qdrant_client::Qdrant; let client = Qdrant::from_url("http://localhost:6334").build()?; client .create_alias(CreateAliasBuilder::new( "example_collection", "production_collection", )) .await?; client .delete_alias(DeleteAlias { alias_name: "production_collection".to_string(), }) .await?; ``` ```csharp using Qdrant.Client; var client = new QdrantClient("localhost", 6334); await client.CreateAliasAsync(aliasName: "production_collection", collectionName: "example_collection"); await client.DeleteAliasAsync("production_collection"); ``` ```ruby require 'uri' require 'net/http' url = URI("http://localhost:6333/collections/aliases") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Post.new(url) request["api-key"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"actions\": [\n {\n \"create_alias\": {\n \"collection_name\": \"string\",\n \"alias_name\": \"string\"\n }\n }\n ]\n}" response = http.request(request) puts response.read_body ``` ```php request('POST', 'http://localhost:6333/collections/aliases', [ 'body' => '{ "actions": [ { "create_alias": { "collection_name": "string", "alias_name": "string" } } ] }', 'headers' => [ 'Content-Type' => 'application/json', 'api-key' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = [ "api-key": "", "Content-Type": "application/json" ] let parameters = ["actions": [["create_alias": [ "collection_name": "string", "alias_name": "string" ]]]] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:6333/collections/aliases")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```