// POST umbraco/api/umbcontact/post
        public HttpResponseMessage Post([FromBody] UmbContactMail message)
        {
            // Return errors if the model validation fails
            // The model defines validations for empty or invalid email addresses
            // See the UmbContactMail class below
            if (ModelState.IsValid == false)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState.First().Value.Errors.First().ErrorMessage));
            }

            // Create a new Pipeline Contact and store in cookie
            var        contact = PipelineHelper.CreateContact(message.Name, message.Email, message.Telephone, message.Organisation);
            HttpCookie cookie  = new HttpCookie("PipelineContactId");

            cookie.Value   = contact.Id.ToString();
            cookie.Expires = DateTime.MaxValue;
            HttpContext.Current.Response.SetCookie(cookie);

            // Create new opportunity in Pipeline CRM
            var pipeline = PipelineHelper.CreatePipeline(
                "Website query",
                message.Name,
                message.Email,
                message.Telephone,
                message.Organisation,
                message.Message
                );

            return(new HttpResponseMessage(HttpStatusCode.OK));
        }