Demo Create ticket with requester

C# server code:
//set up the api
var api = new ZendeskApi("https://YOURSITE.zendesk.com/api/v2", "USER", "PASSWORD");

//create the user if they don't already exist
var user = api.Users.SearchByEmail(model.RequesterEmail);
if (user == null || user.Users.Count < 1)
    api.Users.CreateUser(new User()
                             {
                                 Name = model.RequesterEmail,
                                 Email = model.RequesterEmail
                             });

//setup the ticket
var ticket = new Ticket()
{
    Subject = model.Subject,
    Description = model.Description,
    Priority = model.TicketPriority,
    Requester = new Requester() { Email = model.RequesterEmail }
};

//create the new ticket
var res = api.Tickets.CreateTicket(ticket).Ticket;