Events

Last Updated: February 19, 2014

This document lays out the specification of interacting with the Qgiv Custom events system, allowing for reading, writing, and updating events.

Event Properties

GET : https://secure.qgiv.com/admin/api/events/list

Returns all custom events associated with the current form or organization

25.00,50.00,75.00,100.00,125.00,150.00,175.00,200.00 testing@test.com 0000-00-00 00:00:00 2030-01-01 01:00:00 2030-01-01 01:00:00 0 2013-07-09 11:12:02 2013-07-09 11:12:06 0000-00-00 00:00:00 0 1 50.00 10 10 n 1 0 0 New Question Where would you like the tour to be? 1 1 0 0 6 Test package 12.00 1 This is a test package 12.00 0 10 1 1 0 n 1 0 0 New Question Where would you like the tour to be? 1 1 0 0 HALFOFF 50.00 2 0 0 2014-02-05 00:00:00 2014-05-31 01:00:00 1234 1263718, 1 9 first test event 0.00 This is a test event. 0.00 0 0 Your %Ename% Registration Confirmation

Receipt Data

\n
John Doe testing@test.com 2030-01-01 01:00:00 2030-01-01 01:00:00 2030-01-01 00:00:00 2030-01-01 00:00:00 Qgiv
50 Lake Morton Dr.
Lakeland FL 33333 new None 1 0 1 1 0 0
{
   "events": [ 
   {
       "id": "1234",
       "prices": "25.00,50.00,75.00,100.00,125.00,150.00,175.00,200.00",
       "notify_body": [],
       "notifyEmail": "testing@test.com",
       "toRemoveDonation": "0000-00-00 00:00:00",
       "beginEvent": "2030-01-01 01:00:00",
       "endEvent": "2030-01-01 01:00:00",
       "packages": {
          "package": {
             "id": "1263718",
             "eventId": "1234",
             "defaultCount": "0",
             "created": "2013-07-09 11:12:02",
             "lastAction": "2013-07-09 11:12:06",
             "earlyBirdDate": "0000-00-00 00:00:00",
             "earlyBirdDiscount": "0",
             "earlyBirdDiscountType": "1",
             "discounts": {
                "discount": {
                   "discountedCost": "50.00",
                   "quantityToStart": "10",
                   "quantityToEnd": "10"
                },
                ...
             },
             "fields": {
                "field": {
                   "id": "42089",
                   "eventId": "1234",
                   "special": [],
                   "onOwnLine1": "n",
                   "isEventWideField": "1",
                   "packageId": "0",
                   "inputType": "0",
                   "title": "New Question",
                   "display_title": "Where would you like the tour to be?",
                   "inputData": [],
                   "state": "1",
                   "sort": "1",
                   "isRequired": "0",
                   "displayBlock": "0"
                },
                ...
             },
             "ticketsSold": "6",
             "title": "Test package",
             "value": "12.00",
             "participantsPerPackage": "1",
             "packageDescription": "This is a test package",
             "soldOutContent": [],
             "directValue": "12.00",
             "totalAvailable": "0",
             "maxPerPurchase": "10",
             "sort": "1",
             "state": "1",
             "isPrivatePackage": "0"
          },
          ...
       },
       "fields": {
          "field": {
             "id": "42089",
             "eventId": "1234",
             "special": [],
             "onOwnLine1": "n",
             "isEventWideField": "1",
             "packageId": "0",
             "inputType": "0",
             "title": "New Question",
             "display_title": "Where would you like the tour to be?",
             "inputData": [],
             "state": "1",
             "sort": "1",
             "isRequired": "0",
             "displayBlock": "0"
          },
          ...
       },
       "promoCodes": {
          "promoCode": {
             "id": "1020",
             "code": "HALFOFF",
             "fee": "50.00",
             "feeType": "2",
             "maximum": "0",
             "useCount": "0",
             "startDate": "2014-02-05 00:00:00",
             "expirationDate": "2014-05-31 01:00:00",
             "event": "1234",
             "packages": "1263718, ...",
             "state": "1"
          },
          ...
       },
       "organization": "9",
       "title": "first test event",
       "exportData": [],
       "directValue": "0.00",
       "content": "This is a test event.",
       "soldOutContent": [],
       "value": "0.00",
       "maxPerPurchase": "0",
       "totalAvailable": "0",
       "receiptSubject": "Your %Ename% Registration Confirmation",
       "receiptContent": {"p": "Receipt Data"},
       "receiptFromName": "John Doe",
       "receiptFromEmail": "testing@test.com",
       "notificationSubject": [],
       "startDate": "2030-01-01",
       "startTime": "01:00:00",
       "endDate": "2030-01-01",
       "endTime": "01:00:00",
       "removeDate": "2030-01-01 00:00:00",
       "removeFromKioskDate": "2030-01-01 00:00:00",
       "addressName": "Qgiv",
       "address": "50 Lake Morton Dr.",
       "addressCity": "Lakeland",
       "addressState": "FL",
       "addressZip": "33333",
       "locationMapLink": "None",
       "sort": "1",
       "permitDonations": "0",
       "displayOnMobile": "1",
       "state": "1",
       "displayOnKiosk": "0",
       "isPrivateEvent": "0"
    }
    ...
  ]
}
Libraries to use :
using System.Net;
using System.Text;
using System.IO;


string postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
HttpWebResponse resp = null;
string result = null;

try {
HttpWebRequest req = WebRequest.Create(new Uri("https://secure.qgiv.com/admin/api/events/list.xml")) as HttpWebRequest;
req.Method = "POST";
req.Accept = "*/*";
req.UserAgent = "http_request/0.1";
req.Timeout = 50000;
req.ContentType = "application/x-www-form-urlencoded";
byte[] formData = UTF8Encoding.UTF8.GetBytes(postData);
using (Stream post = req.GetRequestStream()) {
post.Write(formData, 0, formData.Length);
}
// Pick up the response:
resp = req.GetResponse() as HttpWebResponse;

if (resp.StatusCode == System.Net.HttpStatusCode.OK) {
using (resp) {
StreamReader reader =
new StreamReader(resp.GetResponseStream());
result = reader.ReadToEnd();
}
}
} catch (Exception e) {
result = "error : " + e.Message;
}
String data = URLEncoder.encode("token", "UTF-8") + "=" + URLEncoder.encode("skyMV9YeaxQ7EjbEUHt8TUiP", "UTF-8");

URL url = new URL("https://secure.qgiv.com/admin/api/events/list.xml");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();

BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
String output;
while ((line = rd.readLine()) != null) {
output += line;
}

wr.close();
rd.close();
return output;
var apiRequest = false;
var url = "https://secure.qgiv.com/admin/api/events/list.xml";
var postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
var results;

var isIE8 = window.XDomainRequest ? true : false;
if (typeof XMLHttpRequest != "undefined") {
if(isIE8) {
apiRequest = new Window.XDomainRequest()
} else {
apiRequest = new XMLHttpRequest();
}
} else if (window.ActiveXObject) {
var ieVersions = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
for (var i = 0; i < ieVersions.length; i++) {
try {
apiRequest = new ActiveXObject(aVersions[i]);
} catch(oError) {
throw new Error("XMLHttp object could be created.");
}
}
}

if (!apiRequest) {
alert("An error has occuerd while creating XMLHttpRequest object");
}


if (apiRequest) {
apiRequest.open("POST", url, true);
apiRequest.onreadystatechange = handleResponse;
apiRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
apiRequest.send(postData);
}

function handleResponse() {
if (apiRequest.readyState == 4) {
if (apiRequest.status == 200) {
results = apiRequest.responseText;
} else {
results = "Server response is unsuccessful";
}
} else {
results = "Server response is incomplete"
}
}
$postArray = array(
   'token' => '[your API token]'
);

$postString = http_build_query($postArray);

$url = 'https://secure.qgiv.com/admin/api/events/list.xml';

$curlHandler = curl_init();

curl_setopt($curlHandler, CURLOPT_URL, $url);
curl_setopt($curlHandler, CURLOPT_POST, true);
curl_setopt($curlHandler, CURLOPT_POSTFIELDS, $postString);
curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYHOST, false);

$response = curl_exec($curlHandler);

if (curl_errno($curlHandler)) {
$response = 'error : '.curl_error($curlHandler);
} else {
curl_close($curlHandler);
}

return $response;

import urllib, urllib2

postArray = {
   'token' => '[your API token]'
}

postString = urllib.urlencode(postArray)

url = 'https://secure.qgiv.com/admin/api/events/list.xml';

request = urllib2.Request(url, data=data)

try:
  response = urllib2.urlopen(request)
  result = response.read()
  response.close()
except urllib2.URLError, e:
  result = 'error : ' + str(e.code)

return result

GET : /events/[id]

Returns the event requested, individually specified by ID.

test@testing.com 0000-00-00 00:00:00 2013-07-09 11:10:25 2013-10-18 15:06:57 2030-01-01 01:00:00 2030-01-01 01:00:00 0 2013-07-09 11:12:02 2013-07-09 11:12:06 0000-00-00 00:00:00 0 1 6 Test package 12.00 1 This is a test package 12.00 0 10 1 1 0 9 first test event 0.00 This is a test event. 0.00 0 0 Your %Ename% Registration Confirmation Content of the receipt John Doe test@testing.com 2030-01-01 01:00:00 2030-01-01 01:00:00 2030-01-01 00:00:00 2030-01-01 00:00:00 Qgiv House
1212 freeway Drive
Lakeland FL 33333 new None 1 0 1 1 0 0
{
    "event": {
        "id": "1234",
        "prices": "",
        "notify_body": "",
        "notifyEmail": "testing@test.com",
        "toRemoveDonation": "0000-00-00 00:00:00",
        "beginEvent": "2030-01-01 01:00:00",
        "endEvent": "2030-01-01 01:00:00",
        "packages": {
            {
                "id": "1263718",
                "defaultCount": "0",
                "earlyBirdDate": "0000-00-00 00:00:00",
                "earlyBirdDiscount": "0",
                "earlyBirdDiscountType": "1",
                "discounts": [],
                "fields": [],
                "ticketsSold": 6,
                "eventId": "36801",
                "title": "Test package",
                "value": "12.00",
                "participantsPerPackage": "1",
                "packageDescription": "This is a test package",
                "soldOutContent": "",
                "directValue": "12.00",
                "totalAvailable": "0",
                "maxPerPurchase": "10",
                "sort": "1",
                "state": "1",
                "isPrivatePackage": "0"
            },
          ...
        },
        "fields": {
          "field": {
             "id": "42089",
             "eventId": "1234",
             "special": [],
             "onOwnLine1": "n",
             "isEventWideField": "1",
             "packageId": "0",
             "inputType": "0",
             "title": "New Question",
             "display_title": "Where would you like the tour to be?",
             "inputData": [],
             "state": "1",
             "sort": "1",
             "isRequired": "0",
             "displayBlock": "0"
          },
          ...,
        }
        "promoCodes": {
             "promoCode": {
             "id": "1020",
             "code": "HALFOFF",
             "fee": "50.00",
             "feeType": "2",
             "maximum": "0",
             "useCount": "0",
             "startDate": "2014-02-05 00:00:00",
             "expirationDate": "2014-05-31 01:00:00",
             "event": "1234",
             "packages": "1263718, ...",
             "state": "1"
          },
          ...
        },
        "organization": "9",
        "formId": "78904",
        "title": "first test event",
        "exportData": "",
        "directValue": "0.00",
        "content": "This is a test event",
        "soldOutContent": "",
        "value": "0.00",
        "maxPerPurchase": "0",
        "totalAvailable": "0",
        "receiptSubject": "Your %Ename% Registration Confirmation",
        "receiptContent": "Content of the receipt",
        "receiptFromName": "John Doe",
        "receiptFromEmail": "testing@test.com",
        "notificationSubject": "",
        "startDate": "2030-01-01",
        "startTime": "01:00:00",
        "endDate": "2030-01-01",
        "endTime": "01:00:00",
        "removeDate": "2030-01-01 00:00:00",
        "removeFromKioskDate": "2030-01-01 00:00:00",
        "addressName": "QGiv House",
        "address": "1212 Freeway Drive",
        "addressCity": "Lakeland",
        "addressState": "FL",
        "addressZip": "33333",
        "class": "new",
        "locationMapLink": "None",
        "sort": "1",
        "permitDonations": "0",
        "displayOnMobile": "1",
        "state": "1",
        "displayOnKiosk": "0",
        "isPrivateEvent": "0"
    }
}
Libraries to use :
using System.Net;
using System.Text;
using System.IO;


string postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
HttpWebResponse resp = null;
string result = null;

try {
HttpWebRequest req = WebRequest.Create(new Uri("https://secure.qgiv.com/admin/api/events/7742.xml")) as HttpWebRequest;
req.Method = "POST";
req.Accept = "*/*";
req.UserAgent = "http_request/0.1";
req.Timeout = 50000;
req.ContentType = "application/x-www-form-urlencoded";
byte[] formData = UTF8Encoding.UTF8.GetBytes(postData);
using (Stream post = req.GetRequestStream()) {
post.Write(formData, 0, formData.Length);
}
// Pick up the response:
resp = req.GetResponse() as HttpWebResponse;

if (resp.StatusCode == System.Net.HttpStatusCode.OK) {
using (resp) {
StreamReader reader =
new StreamReader(resp.GetResponseStream());
result = reader.ReadToEnd();
}
}
} catch (Exception e) {
result = "error : " + e.Message;
}
String data = URLEncoder.encode("token", "UTF-8") + "=" + URLEncoder.encode("skyMV9YeaxQ7EjbEUHt8TUiP", "UTF-8");

URL url = new URL("https://secure.qgiv.com/admin/api/events/7742.xml");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();

BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
String output;
while ((line = rd.readLine()) != null) {
output += line;
}

wr.close();
rd.close();
return output;
var apiRequest = false;
var url = "https://secure.qgiv.com/admin/api/events/7742.xml";
var postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
var results;

var isIE8 = window.XDomainRequest ? true : false;
if (typeof XMLHttpRequest != "undefined") {
if(isIE8) {
apiRequest = new Window.XDomainRequest()
} else {
apiRequest = new XMLHttpRequest();
}
} else if (window.ActiveXObject) {
var ieVersions = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
for (var i = 0; i < ieVersions.length; i++) {
try {
apiRequest = new ActiveXObject(aVersions[i]);
} catch(oError) {
throw new Error("XMLHttp object could be created.");
}
}
}

if (!apiRequest) {
alert("An error has occuerd while creating XMLHttpRequest object");
}


if (apiRequest) {
apiRequest.open("POST", url, true);
apiRequest.onreadystatechange = handleResponse;
apiRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
apiRequest.send(postData);
}

function handleResponse() {
if (apiRequest.readyState == 4) {
if (apiRequest.status == 200) {
results = apiRequest.responseText;
} else {
results = "Server response is unsuccessful";
}
} else {
results = "Server response is incomplete"
}
}
$postArray = array(
   'token' => '[your API token]'
);

$postString = http_build_query($postArray);

$url = 'https://secure.qgiv.com/admin/api/events/7742.xml';

$curlHandler = curl_init();

curl_setopt($curlHandler, CURLOPT_URL, $url);
curl_setopt($curlHandler, CURLOPT_POST, true);
curl_setopt($curlHandler, CURLOPT_POSTFIELDS, $postString);
curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYHOST, false);

$response = curl_exec($curlHandler);

if (curl_errno($curlHandler)) {
$response = 'error : '.curl_error($curlHandler);
} else {
curl_close($curlHandler);
}

return $response;

import urllib, urllib2

postArray = {
   'token' => '[your API token]'
}

postString = urllib.urlencode(postArray)

url = 'https://secure.qgiv.com/admin/api/events/7742.xml';

request = urllib2.Request(url, data=data)

try:
  response = urllib2.urlopen(request)
  result = response.read()
  response.close()
except urllib2.URLError, e:
  result = 'error : ' + str(e.code)

return result

POST : https://secure.qgiv.com/admin/api/events/[id]

Updates the event with the values passed in, returning the updated event

Input

This is a new title 15.00 20.00 5.00 1

"events": [ 
   {
   "title" : "This is a new title",
   "id": "1234",
   "packages": {
      "package": {
         "id": "1263718",
         "eventId": "1234",
         "earlyBirdDiscount": "15.00",
         "discounts": {
            "discount": {
               "discountedCost": "20.00",
            }
         },
         "value": "5.00",
      },
   },
   "isPrivateEvent": "1"
  }
  ]
}
Libraries to use :
using System.Net;
using System.Text;
using System.IO;


string postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP&package=[xml or json formatted input]";
HttpWebResponse resp = null;
string result = null;

try {
HttpWebRequest req = WebRequest.Create(new Uri("https://secure.qgiv.com/admin/api/events/7742.xml")) as HttpWebRequest;
req.Method = "POST";
req.Accept = "*/*";
req.UserAgent = "http_request/0.1";
req.Timeout = 50000;
req.ContentType = "application/x-www-form-urlencoded";
byte[] formData = UTF8Encoding.UTF8.GetBytes(postData);
using (Stream post = req.GetRequestStream()) {
post.Write(formData, 0, formData.Length);
}
// Pick up the response:
resp = req.GetResponse() as HttpWebResponse;

if (resp.StatusCode == System.Net.HttpStatusCode.OK) {
using (resp) {
StreamReader reader =
new StreamReader(resp.GetResponseStream());
result = reader.ReadToEnd();
}
}
} catch (Exception e) {
result = "error : " + e.Message;
}
String data = URLEncoder.encode("token", "UTF-8") + "=" + URLEncoder.encode("skyMV9YeaxQ7EjbEUHt8TUiP", "UTF-8");
data += "&" + URLEncoder.encode("package", "UTF-8") + "=" URLEncoder.encode("[xml or json formatted input]", "UTF-8");

URL url = new URL("https://secure.qgiv.com/admin/api/events/7742.xml");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();

BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
String output;
while ((line = rd.readLine()) != null) {
output += line;
}

wr.close();
rd.close();
return output;
var apiRequest = false;
var url = "https://secure.qgiv.com/admin/api/events/7742.xml";
var postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP&package=[xml or json formatted input]";
var results;

var isIE8 = window.XDomainRequest ? true : false;
if (typeof XMLHttpRequest != "undefined") {
if(isIE8) {
apiRequest = new Window.XDomainRequest()
} else {
apiRequest = new XMLHttpRequest();
}
} else if (window.ActiveXObject) {
var ieVersions = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
for (var i = 0; i < ieVersions.length; i++) {
try {
apiRequest = new ActiveXObject(aVersions[i]);
} catch(oError) {
throw new Error("XMLHttp object could be created.");
}
}
}

if (!apiRequest) {
alert("An error has occuerd while creating XMLHttpRequest object");
}


if (apiRequest) {
apiRequest.open("POST", url, true);
apiRequest.onreadystatechange = handleResponse;
apiRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
apiRequest.send(postData);
}

function handleResponse() {
if (apiRequest.readyState == 4) {
if (apiRequest.status == 200) {
results = apiRequest.responseText;
} else {
results = "Server response is unsuccessful";
}
} else {
results = "Server response is incomplete"
}
}
$postArray = array(
'token' => '[your API token]',
'package' => '[xml or json formatted input]'
);

$postString = http_build_query($postArray);

$url = 'https://secure.qgiv.com/admin/api/events/7742.xml';

$curlHandler = curl_init();

curl_setopt($curlHandler, CURLOPT_URL, $url);
curl_setopt($curlHandler, CURLOPT_POST, true);
curl_setopt($curlHandler, CURLOPT_POSTFIELDS, $postString);
curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYHOST, false);

$response = curl_exec($curlHandler);

if (curl_errno($curlHandler)) {
$response = 'error : '.curl_error($curlHandler);
} else {
curl_close($curlHandler);
}

return $response;

import urllib, urllib2

postArray = {
'token' : '[your API token]',
'package' : '[xml or json formatted input]'
}

postString = urllib.urlencode(postArray)

url = 'https://secure.qgiv.com/admin/api/events/7742.xml';

request = urllib2.Request(url, data=data)

try:
  response = urllib2.urlopen(request)
  result = response.read()
  response.close()
except urllib2.URLError, e:
  result = 'error : ' + str(e.code)

return result

Output

25.00,50.00,75.00,100.00,125.00,150.00,175.00,200.00 testing@test.com 0000-00-00 00:00:00 2030-01-01 01:00:00 2030-01-01 01:00:00 0 2013-07-09 11:12:02 2013-07-09 11:12:06 0000-00-00 00:00:00 15.00 1 20.00 10 10 n 1 0 0 New Question Where would you like the tour to be? 1 1 0 0 6 Test package 5.00 1 This is a test package 12.00 0 10 1 1 0 n 1 0 0 New Question Where would you like the tour to be? 1 1 0 0 HALFOFF 50.00 2 0 0 2014-02-05 00:00:00 2014-05-31 01:00:00 1234 1263718, 1 9 This is a new title 0.00 This is a test event. 0.00 0 0 Your %Ename% Registration Confirmation

Receipt Data

\n
John Doe testing@test.com 2030-01-01 01:00:00 2030-01-01 01:00:00 2030-01-01 00:00:00 2030-01-01 00:00:00 Qgiv
50 Lake Morton Dr.
Lakeland FL 33333 new None 1 0 1 1 0 1
{
   "events": [ 
   {
       "id": "1234",
       "prices": "25.00,50.00,75.00,100.00,125.00,150.00,175.00,200.00",
       "notify_body": [],
       "notifyEmail": "testing@test.com",
       "toRemoveDonation": "0000-00-00 00:00:00",
       "beginEvent": "2030-01-01 01:00:00",
       "endEvent": "2030-01-01 01:00:00",
       "packages": {
          "package": {
             "id": "1263718",
             "eventId": "1234",
             "defaultCount": "0",
             "created": "2013-07-09 11:12:02",
             "lastAction": "2013-07-09 11:12:06",
             "earlyBirdDate": "0000-00-00 00:00:00",
             "earlyBirdDiscount": "15.00",
             "earlyBirdDiscountType": "1",
             "discounts": {
                "discount": {
                   "discountedCost": "20.00",
                   "quantityToStart": "10",
                   "quantityToEnd": "10"
                },
                ...
             },
             "fields": {
                "field": {
                   "id": "42089",
                   "eventId": "1234",
                   "special": [],
                   "onOwnLine1": "n",
                   "isEventWideField": "1",
                   "packageId": "0",
                   "inputType": "0",
                   "title": "New Question",
                   "display_title": "Where would you like the tour to be?",
                   "inputData": [],
                   "state": "1",
                   "sort": "1",
                   "isRequired": "0",
                   "displayBlock": "0"
                },
                ...
             },
             "ticketsSold": "6",
             "title": "Test package",
             "value": "5.00",
             "participantsPerPackage": "1",
             "packageDescription": "This is a test package",
             "soldOutContent": [],
             "directValue": "12.00",
             "totalAvailable": "0",
             "maxPerPurchase": "10",
             "sort": "1",
             "state": "1",
             "isPrivatePackage": "0"
          },
          ...
       },
       "fields": {
          "field": {
             "id": "42089",
             "eventId": "1234",
             "special": [],
             "onOwnLine1": "n",
             "isEventWideField": "1",
             "packageId": "0",
             "inputType": "0",
             "title": "New Question",
             "display_title": "Where would you like the tour to be?",
             "inputData": [],
             "state": "1",
             "sort": "1",
             "isRequired": "0",
             "displayBlock": "0"
          },
          ...
       },
       "promoCodes": {
          "promoCode": {
             "id": "1020",
             "code": "HALFOFF",
             "fee": "50.00",
             "feeType": "2",
             "maximum": "0",
             "useCount": "0",
             "startDate": "2014-02-05 00:00:00",
             "expirationDate": "2014-05-31 01:00:00",
             "event": "1234",
             "packages": "1263718, ...",
             "state": "1"
          },
          ...
       },
       "organization": "9",
       "title": "This is a new title",
       "exportData": [],
       "directValue": "0.00",
       "content": "This is a test event.",
       "soldOutContent": [],
       "value": "0.00",
       "maxPerPurchase": "0",
       "totalAvailable": "0",
       "receiptSubject": "Your %Ename% Registration Confirmation",
       "receiptContent": {"p": "Receipt Data"},
       "receiptFromName": "John Doe",
       "receiptFromEmail": "testing@test.com",
       "notificationSubject": [],
       "startDate": "2030-01-01",
       "startTime": "01:00:00",
       "endDate": "2030-01-01",
       "endTime": "01:00:00",
       "removeDate": "2030-01-01 00:00:00",
       "removeFromKioskDate": "2030-01-01 00:00:00",
       "addressName": "Qgiv",
       "address": "50 Lake Morton Dr.",
       "addressCity": "Lakeland",
       "addressState": "FL",
       "addressZip": "33333",
       "locationMapLink": "None",
       "sort": "1",
       "permitDonations": "0",
       "displayOnMobile": "1",
       "state": "1",
       "displayOnKiosk": "0",
       "isPrivateEvent": "1"
    }
    ...
  ]
}

* denotes a required field

** denotes a required field based on Event settings

*** denotes a field that is only required when submitting Form level API credentials