/// <summary>
        /// Rename a collection.
        /// PUT /_api/collection/{collection-name}/rename
        /// </summary>
        /// <param name="collectionName"></param>
        /// <param name="body"></param>
        /// <returns></returns>
        public virtual async Task <RenameCollectionResponse> RenameCollectionAsync(string collectionName, RenameCollectionBody body)
        {
            var content = GetContent(body, new ApiClientSerializationOptions(true, false));

            using (var response = await _transport.PutAsync(_collectionApiPath + "/" + WebUtility.UrlEncode(collectionName) + "/rename", content))
            {
                if (response.IsSuccessStatusCode)
                {
                    var stream = await response.Content.ReadAsStreamAsync();

                    var collection = DeserializeJsonFromStream <RenameCollectionResponse>(stream);
                    return(collection);
                }
                throw await GetApiErrorException(response);
            }
        }
 /// <summary>
 /// Rename a collection.
 /// PUT /_api/collection/{collection-name}/rename
 /// </summary>
 /// <param name="collectionName"></param>
 /// <param name="body"></param>
 /// <param name="cancellationToken"></param>
 /// <param name="request"></param>
 /// <returns></returns>
 public virtual async Task <RenameCollectionResponse> RenameCollectionAsync(string collectionName,
                                                                            RenameCollectionBody body, CancellationToken cancellationToken = default)
 {
     return(await PutRequestAsync($"{ApiRootPath}/{WebUtility.UrlEncode(collectionName)}/rename",
                                  response => new RenameCollectionResponse(response), body, null, cancellationToken));
 }