For non required fields, you can either omit from the JSON string or set it to a default value
        (e.g. String = "", Integer/Double = 0, Boolean = false, DateTime = 1900-01-01T00:00:00.000Z)
    
    
        
            
            {"auth": {"api_username": "", "api_password": "", "api_key": "", "company_no": 0, "username": "", "password": "", "timezone_offset": 0, "auth_type": "", "system_name": "", "system_company_no": 0 }, "contest": {"winner_customer_no": 0, "rules_html": "", "content_html": "", "reference_type": "", "reference_no": 0, "capture_fields": "", "contest_lost_message": "", "contest_won_message": "", "share_long": "", "share_short": "", "contest_no": 0, "contest_name": "", "contest_description": "", "category_no": 0, "company_no": 0, "contest_start": "1/1/1900 12:00 AM", "contest_end": "1/1/1900 12:00 AM", "created_on": "1/1/1900 12:00 AM", "ip_threshold": 0, "entry_limit": "", "win_ratio": 0, "survey_no": 0, "authenticate_with": "", "contest_rules_page_no": 0, "contest_content_page_no": 0, "contest_graphic": "", "campaign_no": 0, "contest_type": "", "contest_reveal_image": "", "contest_lose_image": "" } }
         
        
            
            {"auth": {"api_username": "", "api_password": "", "api_key": "", "company_no": 0, "username": "", "password": "" }, "contest": {"winner_customer_no": 0, "rules_html": "", "content_html": "", "reference_type": "", "reference_no": 0, "capture_fields": "", "contest_lost_message": "", "contest_won_message": "", "share_long": "", "share_short": "", "contest_no": 0, "contest_name": "", "contest_description": "", "category_no": 0, "company_no": 0, "contest_start": "1/1/1900 12:00 AM", "contest_end": "1/1/1900 12:00 AM", "created_on": "1/1/1900 12:00 AM", "ip_threshold": 0, "entry_limit": "", "win_ratio": 0, "survey_no": 0, "authenticate_with": "", "contest_rules_page_no": 0, "contest_content_page_no": 0, "contest_graphic": "", "campaign_no": 0, "contest_type": "", "contest_reveal_image": "", "contest_lose_image": "" } }
         
     
    
    
        
            
            This sample code is to generate a function leveraging existing core functions you've already built.
            
                
func getAPIKit() -> (url: String, dict: Dictionary<String, AnyObject>) {
    var winner_customer_no = 0
    var rules_html = ""
    var content_html = ""
    var reference_type = ""
    var reference_no = 0
    var capture_fields = ""
    var contest_lost_message = ""
    var contest_won_message = ""
    var share_long = ""
    var share_short = ""
    var contest_no = 0
    var contest_name = ""
    var contest_description = ""
    var category_no = 0
    var company_no = 0
    var contest_start = "1/1/1900 12:00 AM"
    var contest_end = "1/1/1900 12:00 AM"
    var created_on = "1/1/1900 12:00 AM"
    var ip_threshold = 0
    var entry_limit = ""
    var win_ratio = 0
    var survey_no = 0
    var authenticate_with = ""
    var contest_rules_page_no = 0
    var contest_content_page_no = 0
    var contest_graphic = ""
    var campaign_no = 0
    var contest_type = ""
    var contest_reveal_image = ""
    var contest_lose_image = ""
    let url = "https://api.peoplevine.com/contest.asmx/updateContest"
    
    let key = "contest"
    let contestDict: Dictionary<String, AnyObject> = ["winner_customer_no": winner_customer_no, "rules_html": rules_html, "content_html": content_html, "reference_type": reference_type, "reference_no": reference_no, "capture_fields": capture_fields, "contest_lost_message": contest_lost_message, "contest_won_message": contest_won_message, "share_long": share_long, "share_short": share_short, "contest_no": contest_no, "contest_name": contest_name, "contest_description": contest_description, "category_no": category_no, "company_no": company_no, "contest_start": contest_start, "contest_end": contest_end, "created_on": created_on, "ip_threshold": ip_threshold, "entry_limit": entry_limit, "win_ratio": win_ratio, "survey_no": survey_no, "authenticate_with": authenticate_with, "contest_rules_page_no": contest_rules_page_no, "contest_content_page_no": contest_content_page_no, "contest_graphic": contest_graphic, "campaign_no": campaign_no, "contest_type": contest_type, "contest_reveal_image": contest_reveal_image, "contest_lose_image": contest_lose_image ]
    let finalDict = User.getAuthDict(dictToAdd: contestDict, dictKey: key)
    
    return (url, finalDict)
  }
                
            
         
        
            
            To get started we reccomend that you download the Alamofire project to simplify integration: https://github.com/Alamofire/Alamofire, in addition to SwiftyJSON: https://github.com/SwiftyJSON/SwiftyJSON
            
                
import Foundation
struct AUTH {
    static var api_username = <string>
    static var api_password = <string>
    static var api_key = <string>
    static var company_no = <double>
    static var username = <string>
    static var password = <string>
    static var timezone_offset = <double>
    static var auth_type = <string>
    static var system_name = <string>
    static var system_company_no = <double>}
    
struct CONTEST {
    static var winner_customer_no = <double>
    static var rules_html = <string>
    static var content_html = <string>
    static var reference_type = <string>
    static var reference_no = <double>
    static var capture_fields = <string>
    static var contest_lost_message = <string>
    static var contest_won_message = <string>
    static var share_long = <string>
    static var share_short = <string>
    static var contest_no = <double>
    static var contest_name = <string>
    static var contest_description = <string>
    static var category_no = <double>
    static var company_no = <double>
    static var contest_start = <dateTime>
    static var contest_end = <dateTime>
    static var created_on = <dateTime>
    static var ip_threshold = <double>
    static var entry_limit = <string>
    static var win_ratio = <double>
    static var survey_no = <double>
    static var authenticate_with = <string>
    static var contest_rules_page_no = <double>
    static var contest_content_page_no = <double>
    static var contest_graphic = <string>
    static var campaign_no = <double>
    static var contest_type = <string>
    static var contest_reveal_image = <string>
    static var contest_lose_image = <string>}
    
func updateContestRequest() {
    
    var updateContestObjects = [AnyObject]()
    let postsEndpoint: String = "https://api.peoplevine.com/contest.asmx/updateContest"
    let authAndFieldsDict = ["auth": ["api_username": AUTH.api_username, "api_password": AUTH.api_password, "api_key": AUTH.api_key, "company_no": AUTH.company_no, "username": AUTH.username, "password": AUTH.password, "timezone_offset": AUTH.timezone_offset, "auth_type": AUTH.auth_type, "system_name": AUTH.system_name, "system_company_no": AUTH.system_company_no ], "contest": ["winner_customer_no": CONTEST.winner_customer_no, "rules_html": CONTEST.rules_html, "content_html": CONTEST.content_html, "reference_type": CONTEST.reference_type, "reference_no": CONTEST.reference_no, "capture_fields": CONTEST.capture_fields, "contest_lost_message": CONTEST.contest_lost_message, "contest_won_message": CONTEST.contest_won_message, "share_long": CONTEST.share_long, "share_short": CONTEST.share_short, "contest_no": CONTEST.contest_no, "contest_name": CONTEST.contest_name, "contest_description": CONTEST.contest_description, "category_no": CONTEST.category_no, "company_no": CONTEST.company_no, "contest_start": CONTEST.contest_start, "contest_end": CONTEST.contest_end, "created_on": CONTEST.created_on, "ip_threshold": CONTEST.ip_threshold, "entry_limit": CONTEST.entry_limit, "win_ratio": CONTEST.win_ratio, "survey_no": CONTEST.survey_no, "authenticate_with": CONTEST.authenticate_with, "contest_rules_page_no": CONTEST.contest_rules_page_no, "contest_content_page_no": CONTEST.contest_content_page_no, "contest_graphic": CONTEST.contest_graphic, "campaign_no": CONTEST.campaign_no, "contest_type": CONTEST.contest_type, "contest_reveal_image": CONTEST.contest_reveal_image, "contest_lose_image": CONTEST.contest_lose_image ] ]
    Alamofire.request(.POST, postsEndpoint, parameters: authAndFieldsDict, encoding: .JSON).responseJSON { (request, response, data, error) in
      if let anError = error {
        println("error calling POST on /posts")
        println(error)
      } else if let jsonData: AnyObject = data {
        if let dataString = (jsonData.valueForKey("d") as! String).dataUsingEncoding(NSUTF8StringEncoding) {
            let json = JSON(data: dataString)  //use this object to parse data
            
            //SAMPLE PARSING
            let varData = json["returnObject"][0]["object"].stringValue
            // ----------
            // BELOW REPRESENTS AN EXAMPLE USING PURE SWIFT JSONSERIALIZATION INSTEAD OF SWIFTYJSON --------//
            //          if let updateContestDict = NSJSONSerialization.JSONObjectWithData(encoString, options: .MutableContainers, error: nil) as? NSDictionary {
            //            if let returnObjectArray = updateContestDict["returnObject"] as? NSArray {
            //
            //              for updateContestObject in returnObjectArray {
            //                updateContestObjects.append(updateContestObject)
            //                if let item = updateContestObject["object_name"] as? NSDictionary {
            //                  let varItem = item["field_name"] as! String
            //                }
            //              }
            //
            //              println("\n\(updateContestObjects.count) Total")
            //            }
            //          }
        }
      }
    }
  }
            
         
        
            <!DOCTYPE html>
<html>
<head>
<title>API Call - updateContest</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
   $(function() {
      var dataValue = {
         
            "auth": {
                "api_username": "", 
                "api_password": "", 
                "api_key": "", 
                "company_no": 0, 
                "username": "", 
                "password": "", 
                "timezone_offset": 0, 
                "auth_type": "", 
                "system_name": "", 
                "system_company_no": 0, 
                },
            
            "contest": {
                "winner_customer_no": 0, 
                "rules_html": "", 
                "content_html": "", 
                "reference_type": "", 
                "reference_no": 0, 
                "capture_fields": "", 
                "contest_lost_message": "", 
                "contest_won_message": "", 
                "share_long": "", 
                "share_short": "", 
                "contest_no": 0, 
                "contest_name": "", 
                "contest_description": "", 
                "category_no": 0, 
                "company_no": 0, 
                "contest_start": "1/1/1900 12:00 AM", 
                "contest_end": "1/1/1900 12:00 AM", 
                "created_on": "1/1/1900 12:00 AM", 
                "ip_threshold": 0, 
                "entry_limit": "", 
                "win_ratio": 0, 
                "survey_no": 0, 
                "authenticate_with": "", 
                "contest_rules_page_no": 0, 
                "contest_content_page_no": 0, 
                "contest_graphic": "", 
                "campaign_no": 0, 
                "contest_type": "", 
                "contest_reveal_image": "", 
                "contest_lose_image": "", 
                },
            
      };
      
      $.ajax({
         url: 'https://api.peoplevine.com/contest.asmx/updateContest',
         type: 'POST',
         data: JSON.stringify(dataValue),
         contentType: 'application/json; charset=utf-8',
         dataType: 'json',
         error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert("ERROR");
         },
         success: function (result) {
                var obj = JSON.parse(result.d).returnObject;
                $.each(obj, function(i) {
                    $("#divID").html(obj[i].field_name); //do something with the data
                })
         }
      })
   });
</script>
</body>
</html>
            
         
        
            
                
System.Net.HttpWebRequest req = System.Net.HttpWebRequest.Create("https://api.peoplevine.com/contest.asmx/updateContest");
req.Method = "POST";
req.ContentType = "application/json; charset=utf-8";
string dataValue = "{auth: {api_username: <string>, api_password: <string>, api_key: <string>, company_no: <double>, username: <string>, password: <string>, timezone_offset: <double>, auth_type: <string>, system_name: <string>, system_company_no: <double> },contest: {winner_customer_no: <double>, rules_html: <string>, content_html: <string>, reference_type: <string>, reference_no: <double>, capture_fields: <string>, contest_lost_message: <string>, contest_won_message: <string>, share_long: <string>, share_short: <string>, contest_no: <double>, contest_name: <string>, contest_description: <string>, category_no: <double>, company_no: <double>, contest_start: <dateTime>, contest_end: <dateTime>, created_on: <dateTime>, ip_threshold: <double>, entry_limit: <string>, win_ratio: <double>, survey_no: <double>, authenticate_with: <string>, contest_rules_page_no: <double>, contest_content_page_no: <double>, contest_graphic: <string>, campaign_no: <double>, contest_type: <string>, contest_reveal_image: <string>, contest_lose_image: <string> }}";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] bytes = encoding.GetBytes(dataValue);
req.ContentLength = bytes.Length;
System.IO.Stream strm = req.GetRequestStream();
strm.Write(bytes, 0, bytes.Length);
strm.Close();
System.Net.HttpWebResponse rsp = req.GetResponse();
System.IO.Stream data = rsp.GetResponseStream();
System.IO.StreamReader rdr = new System.IO.StreamReader(data);
string response = rdr.ReadToEnd();
         
        
            
            
Dim req As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("https://api.peoplevine.com/contest.asmx/updateContest")
req.Method = "POST"
req.ContentType = "application/json; charset=utf-8"
        
Dim dataValue As String = "{auth: {api_username: <string>, api_password: <string>, api_key: <string>, company_no: <double>, username: <string>, password: <string>, timezone_offset: <double>, auth_type: <string>, system_name: <string>, system_company_no: <double> },contest: {winner_customer_no: <double>, rules_html: <string>, content_html: <string>, reference_type: <string>, reference_no: <double>, capture_fields: <string>, contest_lost_message: <string>, contest_won_message: <string>, share_long: <string>, share_short: <string>, contest_no: <double>, contest_name: <string>, contest_description: <string>, category_no: <double>, company_no: <double>, contest_start: <dateTime>, contest_end: <dateTime>, created_on: <dateTime>, ip_threshold: <double>, entry_limit: <string>, win_ratio: <double>, survey_no: <double>, authenticate_with: <string>, contest_rules_page_no: <double>, contest_content_page_no: <double>, contest_graphic: <string>, campaign_no: <double>, contest_type: <string>, contest_reveal_image: <string>, contest_lose_image: <string> }}"
        
Dim encoding As New ASCIIEncoding()
Dim bytes As Byte() = encoding.GetBytes(dataValue)
        
req.ContentLength = bytes.Length
        
Dim strm As System.IO.Stream = req.GetRequestStream()
strm.Write(bytes, 0, bytes.Length)
strm.Close()
        
Dim rsp As System.Net.HttpWebResponse = req.GetResponse()
Dim data As System.IO.Stream = rsp.GetResponseStream()
Dim rdr As New System.IO.StreamReader(data)
Dim response As String = rdr.ReadToEnd()
         
        
            // This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class JavaSample {
  public static void main(String[] args) {
   HttpClient httpclient = HttpClients.createDefault();
   try
   {
      URIBuilder builder = new URIBuilder("https://peoplevine.azure-api.net/customer/customer/registerCustomer");
      // Specify your subscription key
      builder.setParameter("subscription-key", "");
      URI uri = builder.build();
      HttpPost request = new HttpPost(uri);
      StringEntity reqEntity = new StringEntity("", ContentType.create("application/json"));
      request.setEntity(reqEntity);
      HttpResponse response = httpclient.execute(request);
      HttpEntity entity = response.getEntity();
      if (entity != null) {
         System.out.println(EntityUtils.toString(entity));
      }
   }
   catch (Exception e)
   {
      System.out.println(e.getMessage());
   }
  }
}
         
        
            <?php
// This sample uses the HTTP_Request2 package. (for more information: http://pear.php.net/package/HTTP_Request2)
require_once 'HTTP/Request2.php';
$headers = array(
   'Content-Type' => 'application/json',
);
$query_params = array(
   // Specify your subscription key
   'subscription-key' => '',
);
$request = new Http_Request2('https://peoplevine.azure-api.net/customer/customer/registerCustomer');
$request->setMethod(HTTP_Request2::METHOD_POST);
// Basic Authorization Sample
// $request-setAuth('{username}', '{password}');
$request->setHeader($headers);
$url = $request->getUrl();
$url->setQueryVariables($query_params);
$request->setBody("");
try
{
   $response = $request->send();
   
   echo $response->getBody();
}
catch (HttpException $ex)
{
   echo $ex;
}
?>
         
        
            
    #import <Foundation/Foundation.h>
    
    NSDictionary *authDic = [NSDictionary dictionaryWithObjectsAndKeys:
            <string>, @"api_username",
            <string>, @"api_password",
            <string>, @"api_key",
            <double>, @"company_no",
            <string>, @"username",
            <string>, @"password",
            <double>, @"timezone_offset",
            <string>, @"auth_type",
            <string>, @"system_name",
            <double>, @"system_company_no", nil];
    
    NSDictionary *contestDic = [NSDictionary dictionaryWithObjectsAndKeys:
            <double>, @"winner_customer_no",
            <string>, @"rules_html",
            <string>, @"content_html",
            <string>, @"reference_type",
            <double>, @"reference_no",
            <string>, @"capture_fields",
            <string>, @"contest_lost_message",
            <string>, @"contest_won_message",
            <string>, @"share_long",
            <string>, @"share_short",
            <double>, @"contest_no",
            <string>, @"contest_name",
            <string>, @"contest_description",
            <double>, @"category_no",
            <double>, @"company_no",
            <dateTime>, @"contest_start",
            <dateTime>, @"contest_end",
            <dateTime>, @"created_on",
            <double>, @"ip_threshold",
            <string>, @"entry_limit",
            <double>, @"win_ratio",
            <double>, @"survey_no",
            <string>, @"authenticate_with",
            <double>, @"contest_rules_page_no",
            <double>, @"contest_content_page_no",
            <string>, @"contest_graphic",
            <double>, @"campaign_no",
            <string>, @"contest_type",
            <string>, @"contest_reveal_image",
            <string>, @"contest_lose_image", nil];
    
    NSDictionary *finalDic = [NSDictionary dictionaryWithObjectsAndKeys:
                authDic, @"auth",contestDic, @"contest", nil];
 
    NSMutableDictionary* jsonString = nil;
    jsonString = [NSJSONSerialization JSONObjectWithData: findalDic options:NSJSONReadingMutableContainers];
    
    NSMutableData *bodyData = [NSMutableData dataWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];
    
    NSString *urlString = @"https://api.peoplevine.com/contest.asmx/updateContest";
    
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:urlString]];    
    [request setTimeOutSeconds:250];    
    [request setRequestMethod:@"POST"];    
    [request addRequestHeader:@"Content-Type" value:@"application/json"];    
    [request addRequestHeader:[NSString stringWithFormat:@"%d",bodyData.length] value:@"Content-length"];    
    [request setPostBody:bodyData];    
    [request startSynchronous];
    NSDictionary *responseDic = (NSDictionary*)[request.responseString JSONValue];   
   
    if (responseDic || [responseDic objectForKey:@"d"])
    {
        NSMutableDictionary *dicSave=[responseDic objectForKey:@"d"];
        // -------------------------------------------------------------------
        // convert into the data and NSUTF8StringEncoding
        // -------------------------------------------------------------------
        NSString *strDic=[dicSave copy];
        NSMutableDictionary *dirJson;
        if (strDic)
        {
            NSData* dataFile=[strDic dataUsingEncoding:NSUTF8StringEncoding];
            NSString* newStr = [[NSString alloc] initWithData:dataFile
                                                     encoding:NSUTF8StringEncoding];
           
            dirJson = [newStr JSONValue] ;
        }
        // -------------------------------------------------------------------
        
        NSString *str=[[dirJson objectForKey:@"returnObject"]valueForKey:@"customer_no"];
    }
    else
    {
        UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Error" message:@"An Error Occurred" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
        [alert show];
    }
         
        
            require 'net/http'
uri = URI('https://peoplevine.azure-api.net/customer/customer/registerCustomer')
uri.query = URI.encode_www_form({
   # Specify your subscription key
   'subscription-key' => '',
})
request = Net::HTTP::Post.new(uri.request_uri)
# Basic Authorization Sample
# request.basic_auth 'username', 'password'
request['Content-type'] = 'application/json'
request.body = ""
response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
    http.request(request)
end
puts response.body
         
        
            ########### Python 2.7 #############
import httplib, urllib, base64
headers = {
   # Basic Authorization Sample
   # 'Authorization': 'Basic %s' % base64.encodestring('{username}:{password}'),
   'Content-type': 'application/json',
}
params = urllib.urlencode({
   # Specify your subscription key
   'subscription-key': '',
})
try:
   conn = httplib.HTTPSConnection('peoplevine.azure-api.net')
   conn.request("POST", "/customer/customer/registerCustomer?%s" % params, "", headers)
   response = conn.getresponse()
   data = response.read()
   print(data)
   conn.close()
except Exception as e:
   print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64
headers = {
   # Basic Authorization Sample
   # 'Authorization': 'Basic %s' % base64.encodestring('{username}:{password}'),
   'Content-type': 'application/json',
}
params = urllib.parse.urlencode({
   # Specify your subscription key
   'subscription-key': '',
})
try:
   conn = http.client.HTTPSConnection('peoplevine.azure-api.net')
   conn.request("POST", "/customer/customer/registerCustomer?%s" % params, "", headers)
   response = conn.getresponse()
   data = response.read()
   print(data)
   conn.close()
except Exception as e:
   print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
         
        
            @ECHO OFF
REM for Basic Authorization use: --user {username}:{password}
REM Specify values for path parameters (shown as {...}), your subscription key and values for query parameters
curl -v -X POST "https://peoplevine.azure-api.net/customer/customer/registerCustomer?subscription-key="^
 -H "Content-Type: application/json"