POST /Account/

Creates a user account of the requested type.
 

Request

Method Request URI
POST /API/Account/?sessionId=value

URI Parameters

URI Parameter Description
sessionId Current session ID.

Request Body

Name: accountOptions
Type: Dundas.BI.WebApi.Models.AccountData

Response

Response Body

A Dundas.BI.WebApi.Models.AccountData object, or a status code indicating the problem.

Examples

This example will create a new local user with the name John Smith.

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/?sessionId=" + sessionId + "";

	// Define the request body
	HttpContent requestBody = null;
	requestBody = 
		new StringContent(@"
		{
		    ""__classType"": ""dundas.account.Account"",
		    ""name"": ""user1"",
		    ""accountType"": ""LocalUser"",
		    ""timeZone"": """",
		    ""isEnabled"": true,
		    ""trackLogOnHistory"": true,
		    ""logOnCount"": 0,
		    ""seatKind"": ""StandardUser"",
		    ""isSeatReserved"": false,
		    ""grantedApplicationPrivilegeIds"": [
		        
		    ],
		    ""deniedApplicationPrivilegeIds"": [
		        
		    ],
		    ""customAttributes"": [
		        
		    ],
		    ""password"": ""1234"",
		    ""canChangePassword"": true,
		    ""displayName"": ""John Smith"",
		    ""emailAddress"": ""JohnSmith@dundas.com"",
		    ""isAccountExpired"": false,
		    ""isPasswordExpired"": false,
		    ""isLocked"": false,
		    ""warnings"": [
		        
		    ]
		}
		",Encoding.UTF8,"application/json");
	using (var response = httpClient.PostAsync(url, requestBody).Result)
	{
		if(response.StatusCode == HttpStatusCode.OK)
		{
			Console.WriteLine("Success");

			// A Dundas.BI.WebApi.Models.AccountData
			// object as a JSON string.
			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/?sessionId=" + sessionId + "";

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

// Define the Request Body.
StringEntity input =
	new StringEntity(
		 "{"
		+ "\"__classType\": \"dundas.account.Account\","
		+ "\"name\": \"user1\","
		+ "\"accountType\": \"LocalUser\","
		+ "\"timeZone\": \"\","
		+ "\"isEnabled\": true,"
		+ "\"trackLogOnHistory\": true,"
		+ "\"logOnCount\": 0,"
		+ "\"seatKind\": \"StandardUser\","
		+ "\"isSeatReserved\": false,"
		+ "\"grantedApplicationPrivilegeIds\": ["
		+ "    "
		+ "],"
		+ "\"deniedApplicationPrivilegeIds\": ["
		+ "    "
		+ "],"
		+ "\"customAttributes\": ["
		+ "    "
		+ "],"
		+ "\"password\": \"1234\","
		+ "\"canChangePassword\": true,"
		+ "\"displayName\": \"John Smith\","
		+ "\"emailAddress\": \"JohnSmith@dundas.com\","
		+ "\"isAccountExpired\": false,"
		+ "\"isPasswordExpired\": false,"
		+ "\"isLocked\": false,"
		+ "\"warnings\": ["
		+ "    "
		+ "]"
		+ "}"
	);
input.setContentType("application/json");
requstMethod.setEntity(input);
HttpResponse response = 
	httpClient.execute(requstMethod);

if(response.getStatusLine().getStatusCode() == 200)
{
	System.out.println("Success");
}
// A Dundas.BI.WebApi.Models.AccountData
// object as a JSON string.
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/',
	data: logonOptions,
	success: function(logOnResultData) { 
		var sessionId = logOnResultData.sessionId; 

		var dataObject =
			{			
			    "__classType": "dundas.account.Account",
			    "name": "user1",
			    "accountType": "LocalUser",
			    "timeZone": "",
			    "isEnabled": true,
			    "trackLogOnHistory": true,
			    "logOnCount": 0,
			    "seatKind": "StandardUser",
			    "isSeatReserved": false,
			    "grantedApplicationPrivilegeIds": [
			        
			    ],
			    "deniedApplicationPrivilegeIds": [
			        
			    ],
			    "customAttributes": [
			        
			    ],
			    "password": "1234",
			    "canChangePassword": true,
			    "displayName": "John Smith",
			    "emailAddress": "JohnSmith@dundas.com",
			    "isAccountExpired": false,
			    "isPasswordExpired": false,
			    "isLocked": false,
			    "warnings": [
			        
			    ]
			
			};

		$.ajax({
			type: "POST",
			url: baseUrl + "/API/Account/?sessionId=" + sessionId + "",
			data: dataObject,
			success: function(data) { 
				 // data = A Dundas.BI.WebApi.Models
				 // AccountData object.

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

		

This example will create a new windows user account with the name dundas\johns.

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/?sessionId=" + sessionId + "";

	// Define the request body
	HttpContent requestBody = null;
	requestBody = 
		new StringContent(@"
		{
		    ""__classType"": ""dundas.account.Account"",
		    ""name"": ""dundas\\johns"",
		    ""accountType"": ""WindowsUser"",
		    ""timeZone"": """",
		    ""isEnabled"": true,
		    ""trackLogOnHistory"": true,
		    ""logOnCount"": 0,
		    ""seatKind"": ""StandardUser"",
		    ""isSeatReserved"": false,
		    ""grantedApplicationPrivilegeIds"": [
		        
		    ],
		    ""deniedApplicationPrivilegeIds"": [
		        
		    ],
		    ""customAttributes"": [
		        
		    ],
		    ""canChangePassword"": true,
		    ""isAccountExpired"": false,
		    ""isPasswordExpired"": false,
		    ""isLocked"": false,
		    ""warnings"": [
		        
		    ]
		}
		",Encoding.UTF8,"application/json");
	using (var response = httpClient.PostAsync(url, requestBody).Result)
	{
		if(response.StatusCode == HttpStatusCode.OK)
		{
			Console.WriteLine("Success");

			// A Dundas.BI.WebApi.Models.AccountData
			// object as a JSON string.
			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/?sessionId=" + sessionId + "";

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

// Define the Request Body.
StringEntity input =
	new StringEntity(
		 "{"
		+ "\"__classType\": \"dundas.account.Account\","
		+ "\"name\": \"dundas\\johns\","
		+ "\"accountType\": \"WindowsUser\","
		+ "\"timeZone\": \"\","
		+ "\"isEnabled\": true,"
		+ "\"trackLogOnHistory\": true,"
		+ "\"logOnCount\": 0,"
		+ "\"seatKind\": \"StandardUser\","
		+ "\"isSeatReserved\": false,"
		+ "\"grantedApplicationPrivilegeIds\": ["
		+ "    "
		+ "],"
		+ "\"deniedApplicationPrivilegeIds\": ["
		+ "    "
		+ "],"
		+ "\"customAttributes\": ["
		+ "    "
		+ "],"
		+ "\"canChangePassword\": true,"
		+ "\"isAccountExpired\": false,"
		+ "\"isPasswordExpired\": false,"
		+ "\"isLocked\": false,"
		+ "\"warnings\": ["
		+ "    "
		+ "]"
		+ "}"
	);
input.setContentType("application/json");
requstMethod.setEntity(input);
HttpResponse response = 
	httpClient.execute(requstMethod);

if(response.getStatusLine().getStatusCode() == 200)
{
	System.out.println("Success");
}
// A Dundas.BI.WebApi.Models.AccountData
// object as a JSON string.
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/',
	data: logonOptions,
	success: function(logOnResultData) { 
		var sessionId = logOnResultData.sessionId; 

		var dataObject =
			{			
			    "__classType": "dundas.account.Account",
			    "name": "dundas\\johns",
			    "accountType": "WindowsUser",
			    "timeZone": "",
			    "isEnabled": true,
			    "trackLogOnHistory": true,
			    "logOnCount": 0,
			    "seatKind": "StandardUser",
			    "isSeatReserved": false,
			    "grantedApplicationPrivilegeIds": [
			        
			    ],
			    "deniedApplicationPrivilegeIds": [
			        
			    ],
			    "customAttributes": [
			        
			    ],
			    "canChangePassword": true,
			    "isAccountExpired": false,
			    "isPasswordExpired": false,
			    "isLocked": false,
			    "warnings": [
			        
			    ]
			
			};

		$.ajax({
			type: "POST",
			url: baseUrl + "/API/Account/?sessionId=" + sessionId + "",
			data: dataObject,
			success: function(data) { 
				 // data = A Dundas.BI.WebApi.Models
				 // AccountData object.

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

		

This example will create a new Windows User Group Account with the name dundas\newemployees.

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/?sessionId=" + sessionId + "";

	// Define the request body
	HttpContent requestBody = null;
	requestBody = 
		new StringContent(@"
		{
		    ""__classType"": ""dundas.account.Account"",
		    ""name"": ""dundas\\newemployees"",
		    ""accountType"": ""WindowsGroup"",
		    ""timeZone"": """",
		    ""isEnabled"": true,
		    ""trackLogOnHistory"": false,
		    ""logOnCount"": 0,
		    ""seatKind"": ""StandardUser"",
		    ""isSeatReserved"": false,
		    ""grantedApplicationPrivilegeIds"": [
		        
		    ],
		    ""deniedApplicationPrivilegeIds"": [
		        
		    ],
		    ""customAttributes"": [
		        
		    ],
		    ""canChangePassword"": true,
		    ""isAccountExpired"": false,
		    ""isPasswordExpired"": false,
		    ""isLocked"": false,
		    ""warnings"": [
		        
		    ]
		}
		",Encoding.UTF8,"application/json");
	using (var response = httpClient.PostAsync(url, requestBody).Result)
	{
		if(response.StatusCode == HttpStatusCode.OK)
		{
			Console.WriteLine("Success");

			// A Dundas.BI.WebApi.Models.AccountData
			// object as a JSON string.
			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/?sessionId=" + sessionId + "";

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

// Define the Request Body.
StringEntity input =
	new StringEntity(
		 "{"
		+ "\"__classType\": \"dundas.account.Account\","
		+ "\"name\": \"dundas\\newemployees\","
		+ "\"accountType\": \"WindowsGroup\","
		+ "\"timeZone\": \"\","
		+ "\"isEnabled\": true,"
		+ "\"trackLogOnHistory\": false,"
		+ "\"logOnCount\": 0,"
		+ "\"seatKind\": \"StandardUser\","
		+ "\"isSeatReserved\": false,"
		+ "\"grantedApplicationPrivilegeIds\": ["
		+ "    "
		+ "],"
		+ "\"deniedApplicationPrivilegeIds\": ["
		+ "    "
		+ "],"
		+ "\"customAttributes\": ["
		+ "    "
		+ "],"
		+ "\"canChangePassword\": true,"
		+ "\"isAccountExpired\": false,"
		+ "\"isPasswordExpired\": false,"
		+ "\"isLocked\": false,"
		+ "\"warnings\": ["
		+ "    "
		+ "]"
		+ "}"
	);
input.setContentType("application/json");
requstMethod.setEntity(input);
HttpResponse response = 
	httpClient.execute(requstMethod);

if(response.getStatusLine().getStatusCode() == 200)
{
	System.out.println("Success");
}
// A Dundas.BI.WebApi.Models.AccountData
// object as a JSON string.
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/',
	data: logonOptions,
	success: function(logOnResultData) { 
		var sessionId = logOnResultData.sessionId; 

		var dataObject =
			{			
			    "__classType": "dundas.account.Account",
			    "name": "dundas\\newemployees",
			    "accountType": "WindowsGroup",
			    "timeZone": "",
			    "isEnabled": true,
			    "trackLogOnHistory": false,
			    "logOnCount": 0,
			    "seatKind": "StandardUser",
			    "isSeatReserved": false,
			    "grantedApplicationPrivilegeIds": [
			        
			    ],
			    "deniedApplicationPrivilegeIds": [
			        
			    ],
			    "customAttributes": [
			        
			    ],
			    "canChangePassword": true,
			    "isAccountExpired": false,
			    "isPasswordExpired": false,
			    "isLocked": false,
			    "warnings": [
			        
			    ]
			
			};

		$.ajax({
			type: "POST",
			url: baseUrl + "/API/Account/?sessionId=" + sessionId + "",
			data: dataObject,
			success: function(data) { 
				 // data = A Dundas.BI.WebApi.Models
				 // AccountData object.

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