/Users

Note: To update a User you have to know his ID.

Here are some popular queries:

  • deactivate User ID#23

POST to /api/v1/users/23 payload {\"IsActive\":false}

  • restore User ID#23

POST to /api/v1/undelete payload {\"Id\":23,\"EntityType\":\"User\"}

  • create several Users

POST to /api/v1/users/bulk payload {\"FirstName\":\"Jane'\",\"LastName\":\"White\",\"Email\":\"jane@gmail.com\",\"Login\":\"jane@gmail.com\",\"Password\":\"123\"},{\"FirstName\":\"John\",\"LastName\":\"Black\",\"Email\":\"john@gmail.com\",\"Login\":\"john@gmail.com\",\"Password\":\"123\"}]","sidebar":true}

using System;
using System.Net;
using System.Net.Http;
using System.Text;

namespace REST.Test
{
    class Program
    {
        static void Main(string[] args)
        {
            HttpClient client = new HttpClient();
            client.BaseAddress = new Uri("https://restapi.tpondemand.com/api/v1/");
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

            //create a new User
            string query = "users";
            HttpContent payload = new StringContent("{\"FirstName\":\"Julia\",\"LastName\":\"White\",\"Email\":\"julia@white.com\",\"Login\":\"julia@white.com\",\"Password\":\"123\"}", Encoding.UTF8, "application/json");

            //using access token generated at Personal Details page (Access Tokens tab)
            query += "?access_token=MTpoUmx4WW1LTzF6dlkvbUN1dTZIclVBUFQyQ1Z0MkN6YnF6OHBETmRZN2kwPQ==";
            Console.WriteLine("Posting to " + query);

            HttpResponseMessage response = client.PostAsync(query, payload).Result;
            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.Content.ReadAsStringAsync().Result);
            }
            else
            {
                Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
            }
        }
    }
}
using System;
using System.Net;
using System.Net.Http;
using System.Text;

namespace REST.Test
{
    class Program
    {
        static void Main(string[] args)
        {
            HttpClient client = new HttpClient();
            client.BaseAddress = new Uri("https://restapi.tpondemand.com/api/v1/");
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

            //create a new User
            string query = "users";
            HttpContent payload = new StringContent("{\"FirstName\":\"Julia\",\"LastName\":\"White\",\"Email\":\"julia@white.com\",\"Login\":\"julia@white.com\",\"Password\":\"123\"}", Encoding.UTF8, "application/json");

            //using a token generated at /api/v1/Authentication
            query += "?token=MTpGMjRERDMxODUzNDk1NjdFOTQ0NEY4NkFFOEJCMjkzMw==";
            Console.WriteLine("Posting to " + query);

            HttpResponseMessage response = client.PostAsync(query, payload).Result;
            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.Content.ReadAsStringAsync().Result);
            }
            else
            {
                Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
            }
        }
    }
}
using System;
using System.Net;
using System.Net.Http;
using System.Text;

namespace REST.Test
{
    class Program
    {
        static void Main(string[] args)
        {
            HttpClient client = new HttpClient();
            client.BaseAddress = new Uri("https://restapi.tpondemand.com/api/v1/");
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

            //create a new User
            string query = "users";
            HttpContent payload = new StringContent("{\"FirstName\":\"Julia\",\"LastName\":\"White\",\"Email\":\"julia@white.com\",\"Login\":\"julia@white.com\",\"Password\":\"123\"}", Encoding.UTF8, "application/json");

            //using basic authentication (here 'John' is login and '123' is password)
            string authentication = Convert.ToBase64String(Encoding.ASCII.GetBytes("admin:admin"));
            client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", authentication);
            Console.WriteLine("Posting to " + query);

            HttpResponseMessage response = client.PostAsync(query, payload).Result;
            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.Content.ReadAsStringAsync().Result);
            }
            else
            {
                Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
            }
        }
    }
}
using System;
using System.Net;
using System.Net.Http;
using System.Text;

namespace REST.Test
{
    class Program
    {
        static void Main(string[] args)
        {
            HttpClient client = new HttpClient();
            client.BaseAddress = new Uri("https://restapi.tpondemand.com/api/v1/");
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

            //create a new User
            string query = "users";
            HttpContent payload = new StringContent("{\"FirstName\":\"Julia\",\"LastName\":\"White\",\"Email\":\"julia@white.com\",\"Login\":\"julia@white.com\",\"Password\":\"123\"}", Encoding.UTF8, "application/json");

            //using no authentication will result in 401 Unauthorized response
            Console.WriteLine("Posting to " + query);

            HttpResponseMessage response = client.PostAsync(query, payload).Result;
            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.Content.ReadAsStringAsync().Result);
            }
            else
            {
                Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
            }
        }
    }
}
Note: Adding or updating several Users at once You can operate with several Users at once by using /api/v1/users/bulk endpoint.