public async Task UploadDocumentIndex(string projectId, string branchName, DocumentIndexDto documentIndex) { var gatewayAddress = await _discoveryService.GetGatewayAddress(); var uploadIndexAddress = $"{gatewayAddress}/search/projects/{projectId}/branches/{branchName}"; var client = GetClient(); var documentsList = new List <DocumentIndexDto>(); documentsList.Add(documentIndex); var stringContent = JsonConvert.SerializeObject(documentsList); HttpContent content = new StringContent(stringContent, Encoding.UTF8, "application/json"); HttpResponseMessage httpResponseMessage = await client.PostAsync(uploadIndexAddress, content); if (!httpResponseMessage.IsSuccessStatusCode) { var message = await httpResponseMessage.Content.ReadAsStringAsync(); throw new UploadDocumentToIndexException($"Document wasn't successfully uploaded. Status code: {httpResponseMessage.StatusCode}. Response message: '{message}'."); } }