# GET /Extension/Functions/

Gets all the functions in the system.

## Request

Method | Request URI
--- | ---
GET | /API/Extension/Functions/?sessionId=value

### URI Parameters

URI Parameter | Description
--- | ---
sessionId | The current session ID.

### Request Body

There is no Request Body for this function.

## Response

### Response Body

An array of Dundas.BI.WebApi.Models.FunctionData objects, or a status code indicating the reason for failure.

## Examples

This example will get all the functions in Dundas BI.

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

    	using (var response = httpClient.GetAsync(url).Result)
    	{
    		if(response.StatusCode == HttpStatusCode.OK)
    		{
    			Console.WriteLine("Success");

    			// An array of Dundas.BI.WebApi.Models
    			// FunctionData objects, or a status code
    			// indicating the reason for failure.
    			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/Extension/Functions/?sessionId=" + sessionId + "";

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

    HttpResponse response =
    	httpClient.execute(requstMethod);

    if(response.getStatusLine().getStatusCode() == 200)
    {
    	System.out.println("Success");
    }
    // An array of Dundas.BI.WebApi.Models
    // FunctionData objects, or a status code
    // indicating the reason for failure.
    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;
    		$.ajax({
    			type: "GET",
    			url: baseUrl + "/API/Extension/Functions/?sessionId=" + sessionId + "",
    			success: function(data) {
    				 // data = An array of Dundas.BI.WebApi
    				 // Models.FunctionData objects, or a status
    				 // code indicating the reason for failure.

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

© 1999-2021 Dundas Data Visualization, Inc.