POST /Account/Count/

Gets the number of accounts that match the filter.
 

Request

Method Request URI
post /API/Account/Count/?sessionId=value

URI Parameters

URI Parameter Description
sessionId Current session ID. Specifying via an Authorization request header instead is recommended.

Request Headers

Authorization: Bearer <Current session ID>

Request Body

Name: options
Type: Dundas.BI.WebApi.Models.GetAccountsOptions

Response

Response Body

An integer representing the number of accounts that match the filter criteria.

Response Codes

Response Code Description
200 The operation completed successfully.
400 The request contained one or more invalid parameters.
440 The caller is not associated with a valid session.

Examples

This example will the query the number of accounts that match the filter for "dundas".

C# Java JavaScript
using System.Net;
using System.Net.Http;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Web.Script.Serialization;

   ...

using (HttpClient httpClient = new HttpClient())
{
	// Get Session Id
	string logonUri = "http://localhost:8004/Api/LogOn/";
	var logonOptions = new
	{
		accountName = "admin",
		password = "1234",
		cultureName = string.Empty,
		deleteOtherSessions = true,
		isWindowsLogOn = false
	};

	JavaScriptSerializer serializer = new JavaScriptSerializer();
	var requestBodyAsString = serializer.Serialize(logonOptions);
	StringContent content =
		new StringContent(
			requestBodyAsString,
			Encoding.UTF8,
			"application/json"
		);

	string jsonString = string.Empty;

	using (var response = httpClient.PostAsync(logonUri, content).Result)
	{
		jsonString =
			response.Content.ReadAsStringAsync().Result;
	}

	var obj = (Dictionary<string,object>) serializer.DeserializeObject(jsonString);
	string sessionId = obj["sessionId"].ToString();
	string url = "http://localhost:8004/API/Account/Count/";

	// Add an Authorization header
	httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessionId);

	// Define the request body
	HttpContent requestBody = null;
	requestBody = 
		new StringContent(@"
		{
		    ""queryAccountsOptions"": {
		        ""pageNumber"": 1,
		        ""pageSize"": 25,
		        ""filter"": [
		            {
		                ""field"": ""AccountType"",
		                ""operator"": ""Equals"",
		                ""value"": ""VirtualWindowsUser"",
		                ""options"": ""InvertOperator""
		            },
		            {
		                ""field"": ""None"",
		                ""operator"": ""Or"",
		                ""value"": [
		                    {
		                        ""field"": ""Name"",
		                        ""operator"": ""Contains"",
		                        ""value"": ""dundas"",
		                        ""options"": ""None""
		                    },
		                    {
		                        ""field"": ""DisplayName"",
		                        ""operator"": ""Contains"",
		                        ""value"": ""dundas"",
		                        ""options"": ""None""
		                    }
		                ],
		                ""options"": ""None""
		            }
		        ]
		    }
		}
		",Encoding.UTF8,"application/json");
	using (var response = httpClient.PostAsync(url, requestBody).Result)
	{
		if(response.StatusCode == HttpStatusCode.OK)
		{
			Console.WriteLine("Success");

			// An integer representing the number of
			// accounts that match the filter criteria.
			string jsonObject = response.Content.ReadAsStringAsync().Result;
		}
	}
}

		
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.apache.http.entity.StringEntity;
import org.json.JSONObject;

   ...

HttpClient httpClient = HttpClientBuilder.create().build();

String url = "http://localhost:8004";

// Get Session Id
String logonUri = url + "Api/LogOn/"
HttpPost httpPost = new HttpPost(logonUri);
StringEntity stringEntity = 
	new StringEntity("{
		+ "\"accountName\":\"admin\","
		+ "\"password":\"1234\","
		+ "\"cultureName\":\"\","
		+ "\"deleteOtherSessions\":false,"
		+ "\"isWindowsLogOn\":false"
		+ "}"
	);
stringEntity.setContentType("application/json");
httpPost.setEntity(stringEntity);
HttpResponse httpResponse = httpClient.execute(httpPost);
String jsonString = EntityUtils.toString(httpResponse.getEntity());
JSONObject jsonObj = new JSONObject(jsonString);
String sessionId = jsonObj.getString("sessionId");

String requestUrl = "http://localhost:8004/API/Account/Count/";

// Define the Request Method.
HttpPost requstMethod = new HttpPost(requestUrl);

// Add an Authorization header
requstMethod.setHeader("Authorization", "Bearer " + sessionId);

// Define the Request Body.
StringEntity input =
	new StringEntity(
		 "{"
		+ "\"queryAccountsOptions\": {"
		+ "    \"pageNumber\": 1,"
		+ "    \"pageSize\": 25,"
		+ "    \"filter\": ["
		+ "        {"
		+ "            \"field\": \"AccountType\","
		+ "            \"operator\": \"Equals\","
		+ "            \"value\": \"VirtualWindowsUser\","
		+ "            \"options\": \"InvertOperator\""
		+ "        },"
		+ "        {"
		+ "            \"field\": \"None\","
		+ "            \"operator\": \"Or\","
		+ "            \"value\": ["
		+ "                {"
		+ "                    \"field\": \"Name\","
		+ "                    \"operator\": \"Contains\","
		+ "                    \"value\": \"dundas\","
		+ "                    \"options\": \"None\""
		+ "                },"
		+ "                {"
		+ "                    \"field\": \"DisplayName\","
		+ "                    \"operator\": \"Contains\","
		+ "                    \"value\": \"dundas\","
		+ "                    \"options\": \"None\""
		+ "                }"
		+ "            ],"
		+ "            \"options\": \"None\""
		+ "        }"
		+ "    ]"
		+ "}"
	);
input.setContentType("application/json");
requstMethod.setEntity(input);
HttpResponse response = 
	httpClient.execute(requstMethod);

if(response.getStatusLine().getStatusCode() == 200)
{
	System.out.println("Success");
}
// An integer representing the number of
// accounts that match the filter criteria.
String json = EntityUtils.toString(response.getEntity());
		
var baseUrl = 'http://localhost:8005';
var logonOptions =
{
	accountName: 'admin',
	password: '1234',
	cultureName: 'en-us',
	deleteOtherSessions: false,
	isWindowsLogOn: false
};
$.ajax({
	type: 'POST',
	url: baseUrl + '/Api/LogOn/',
	contentType: "application/json",
	data: JSON.stringify(logonOptions),
	success: function(logOnResultData) { 
		var sessionId = logOnResultData.sessionId; 

		var dataObject =
			{			
			    "queryAccountsOptions": {
			        "pageNumber": 1,
			        "pageSize": 25,
			        "filter": [
			            {
			                "field": "AccountType",
			                "operator": "Equals",
			                "value": "VirtualWindowsUser",
			                "options": "InvertOperator"
			            },
			            {
			                "field": "None",
			                "operator": "Or",
			                "value": [
			                    {
			                        "field": "Name",
			                        "operator": "Contains",
			                        "value": "dundas",
			                        "options": "None"
			                    },
			                    {
			                        "field": "DisplayName",
			                        "operator": "Contains",
			                        "value": "dundas",
			                        "options": "None"
			                    }
			                ],
			                "options": "None"
			            }
			        ]
			    }
			
			};

		$.ajax({
			type: "POST",
			url: baseUrl + "/API/Account/Count/",
			headers: { "Authorization": "Bearer " + sessionId },
			data: JSON.stringify(dataObject),
			contentType: "application/json",
			success: function(data) { 
				 // data = An integer representing the
				 // number of accounts that match the filter
				 // criteria.

			},
			error: function(data) { alert('failed' + data); }
		});
	}
});