Application & Process Automation

Getting Started
Authentication & Access
Accounts with Multi-Factor Authentication
Using method GetPrograms
Common Usage Scenarios
Create and Submit a Project
Add/Change Data in an Existing Project
Daily Polling for Project Changes
Troubleshooting
Using Custom IDs
API Method Reference
GetPrograms
URL Format
Response
XML Attributes
Sample Code
GetForms
URL Format
Response
Forms Attributes
AvailableInStatuses and LeadsToStatus
Status Attributes
Sample Code
GetFormSchema
V1 Response
V2 Response
Sample Code
GetProjects
V1 Response
V2 Response
V3 Response
Sample Code
GetProjectsByNumber
V1 Response
V2 Response
Sample Request
Sample Code
GetProjectsByData
Sample Request
Request XML Nodes and Attributes
V1 Response
V2 Response
CreateNewProject
Sample Response
Response XML Attributes
Sample Code
GetAllProjectData - Admin only
Sample Response
XML Attributes
Sample Code
GetProjectData
Sample Response
XML Attributes
Sample Code
SetProjectData
Sample Request
Request XML Attributes
Sample Response
Response XML Attributes
Sample Code
GetActiveAttachment
URL Format
Sample Code
GetAttachmentAsAdmin – Admin only
URL Format
SetProjectAttachment
Identifying attachment file types
URL Format
Sample Response
Response XML Attributes
Sample Code
SetAttachmentMetadata
Sample Request
Request XML Attributes
Sample Response
Response XML Attributes
Sample Code
GetAttachmentMetadata
URL Format
Sample Response
Response XML Attributes
Sample Code
SubmitProject
URL Format
Sample Response
Response XML Attributes
Sample Code
GetStatusList – Admin only
Sample Code
URL Format
Sample Response
Response XML Attributes
GetCustomListChoices
URL Format
Sample Response
Response XML Attributes
GetProjectStatusHistory – Admin only
URL Format
Sample Response
Response XML Attributes
Sample Code
SetProjectStatus – Admin only
URL Format
Sample Response
Response XML Attributes
Sample Code
GetExportProject – Admin only
Response XML Attributes
Sample Code
URL Format
Sample Response
CreateMfaSessionToken
URL Format
Sample Request
Request XML Attributes
Sample Response
Response XML Attributes
Sample Code
DeleteMfaSessionToken
URL Format
Sample Response
Sample Code
SetAssignee
URL Format
Sample Request
Request XML Attributes
Sample Response
Response XML Attributes
SetProjectOwner
URL Format
Sample Request
Request XML Attributes
Sample Response
Response XML Attributes
GetInquiryThreads – Admin Only
GetNotesInInquiryThread – Admin Only
SetInquiryNote – Admin Only
SetInquiryThreadStatus – Admin Only
SetInquiryThreadExternalId – Admin Only
SetProjectStatusReportAs – Admin only
Code Samples
EncodeAuthorizationHeader
MakeGetRequest
MakePostRequest
MakeGetFileRequest
MakeDeleteRequest
PowerShell

GetExportProject – Admin only

Retrieves the project data for each data field, attachment, eSignature, StatusHistory, Communication, Payments and Project Notes. Data fields without any saved data are not included in the output, nor are attachment definitions with no uploaded attachments. Requires membership in an administrator role and read access to the project.
 
HTTP verb: GET
Required inputs: ProgramId, ProjectId, Version

URL Format

Format: https://{BaseURL}/Programs/{ProgramId}/Projects/{ProjectId}/Export/{Version}
 
Sample: https://{BaseURL}/Programs/A43FN6B/Projects/7BJ1SU6W7S/Export/v1

Version Paramter

The version parameter allows the PowerClerk API to expand and grow as the product grows while keeping the API backwards compatible. The following are acceptable values for the version parameter.
 

Version Content in the version (v)
v1 Default content
v2 Includes ChangedBy Status Attribute

Sample Response V1


<ProjectExportDataGetResponse>
    <Project Number="TEST-00028" Owner="solar@cleanpower.com" CreatedUTC="2015-04-16T23-59-45" LastChangedUTC="2015-04-17T00-00-48" LastChangedBy="solar@cleanpower.com">
        <Data>
            <Group Name="Facility Contact">
                <Field Name="Facility Contact City" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>asdf</CurrentValue>
                </Field>
                <Field Name="Facility Contact Email" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com
                    <CurrentValue>SampleUser220@cleanpower.com</CurrentValue>
                </Field>
                <Field Name="Facility Contact First" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com ">
                    <CurrentValue>Bob</CurrentValue>
                </Field>
                <Field Name="Facility Contact Last" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>Solar</CurrentValue>
                </Field>
                <Field Name="Facility Contact Line 1" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar @cleanpower.com">
                    <CurrentValue>123 Main St.</CurrentValue>
                </Field>
                <Field Name="Facility Contact Phone" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>425-555-5555</CurrentValue>
                </Field>
                <Field Name="Facility Contact State" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>WA</CurrentValue>
                </Field>
                <Field Name="Facility Contact Zip Code" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>98008</CurrentValue>
                </Field>
            </Group>
            <Group Name="Applicant">
                <Field Name="Applicant City" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>asdf</CurrentValue>
                </Field>
                <Field Name="Applicant Email" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>SampleUser3989@cleanpower.com</CurrentValue>
                </Field>
                <Field Name="Applicant First" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>Bob</CurrentValue>
                </Field>
                <Field Name="Applicant Last" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>Solar</CurrentValue>
                </Field>
                <Field Name="Applicant Line 1" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>123 Main St.</CurrentValue>
                </Field>
                <Field Name="Applicant Phone" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>425-555-5555</CurrentValue>
                </Field>
                <Field Name="Applicant State" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>wa</CurrentValue>
                </Field>
                <Field Name="Applicant Zip Code" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>98008</CurrentValue>
                </Field>
            </Group>
            <Group Name="Installer">
                <Field Name="Installer City" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>asdf</CurrentValue>
                </Field>
                <Field Name="Installer Email" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>SampleUser2958@cleanpower.com</CurrentValue>
                </Field>
                <Field Name="Installer First" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>Bob</CurrentValue>
                </Field>
                <Field Name="Installer Last" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>Solar</CurrentValue>
                </Field>
                <Field Name="Installer Line 1" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>123 Main St.</CurrentValue>
                </Field>
                <Field Name="Installer Phone" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>425-555-5555</CurrentValue>
                </Field>
                <Field Name="Installer State" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>wa</CurrentValue>
                </Field>
                <Field Name="Installer Zip Code" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>98008</CurrentValue>
                </Field>
            </Group>
            <Group Name="System Owner">
                <Field Name="System Owner City" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>asdf</CurrentValue>
                </Field>
                <Field Name="System Owner Email" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>SampleUser1486@cleanpower.com</CurrentValue>
                </Field>
                <Field Name="System Owner First" ChangeTime="2015-04-17T00-00-47" ChangedBy="rorleth@cleanpower.com">
                    <CurrentValue>Bob</CurrentValue>
                </Field>
                <Field Name="System Owner Last" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>Solar</CurrentValue>
                </Field>
                <Field Name="System Owner Line 1" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>123 Main St.</CurrentValue>
                </Field>
                <Field Name="System Owner Phone" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>425-555-5555</CurrentValue>
                </Field>
                <Field Name="System Owner State" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>wa</CurrentValue>
                </Field>
                <Field Name="System Owner Zip Code" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>98008</CurrentValue>
                </Field>
            </Group>
            <Group Name="PV System">
                <Field Name="PV System CEC Rating" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>40.091</CurrentValue>
                </Field>
                <Field Name="PV System Design Factor" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>63.5</CurrentValue>
                </Field>
                <Field Name="PV System Estimated Production" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>50224</CurrentValue>
                </Field>
                <Field Name="PV System Nameplate Rating" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>48.84</CurrentValue>
                </Field>
                <PVSystem>
                    <Inverter Quantity="12" Manufacturer="Ablerex Electronics" Model="5.0 kW (Model ES 5000-US-240A)" NameplateRating_kW="5" Efficiency="0.955">
                        <Panel Quantity="222" Manufacturer="A10Green Technology" Model="220W (Model A10J-M60-220)" PTCRating="0.1891" NameplateRating="0.22" Tilt="23" Azimuth="180" Tracking="Fixed">
                            <Shadings Model="monthly">
                                <PercentMonthlyAccess Month="1">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="2">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="3">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="4">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="5">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="6">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="7">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="8">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="9">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="10">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="11">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="12">100</PercentMonthlyAccess>
                            </Shadings>
                        </Panel>
                    </Inverter>
                </PVSystem>
            </Group>
            <Field Name="Account Number" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                <CurrentValue>7QYQ</CurrentValue>
            </Field>
            <Field Name="Application Date" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                <CurrentValue>4/16/2015</CurrentValue>
            </Field>
            <Field Name="Contractor act customer behalf" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                <CurrentValue>True</CurrentValue>
            </Field>
            <Field Name="Description of Service" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                <CurrentValue>This is a new generating facility at a currently served location</CurrentValue>
            </Field>
            <Field Name="Disconnect Switch Manufacturer" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                <CurrentValue>asd</CurrentValue>
            </Field>
            <Field Name="Disconnect Switch Model" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                <CurrentValue>asd</CurrentValue>
            </Field>
            <Field Name="Disconnect Switch Rating" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                <CurrentValue>111</CurrentValue>
            </Field>
            <Field Name="Meter Number" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                <CurrentValue>2A6QZ1A7</CurrentValue>
            </Field>
            <Field Name="Operation date" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                <CurrentValue>4/22/2015</CurrentValue>
            </Field>
            <Field Name="Possible meter access issues" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                <CurrentValue>None</CurrentValue>
            </Field>
            <Field Name="Premise Number" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                <CurrentValue>Z070Y0</CurrentValue>
            </Field>
            <Field Name="System Owner Same As Facility Owner" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                <CurrentValue>Yes</CurrentValue>
            </Field>
        </Data>
        <Attachments />
        <StatusHistory>
            <Status Name="Application in Process" TimestampUTC="2015-04-17T00-00-48" />
            <Status Name="Unsubmitted" TimestampUTC="2015-04-16T23-59-45" />
        </StatusHistory>
        <Communications>
            <Email To="SampleUser4567@cleanpower.com" CC="SampleUser4644@cleanpower.com" BCC="SampleUser2305@cleanpower.com" Subject="Sample Message 1876" Status="Sent" Description="TestTemplate" SentTimestampUTC="2015-04-17T00-00-47" SentBy="solar@cleanpower.com"><![CDATA[<!DOCTYPE html><html><head></head><body><p>Sample Message</p></body></html>]]></Email>
        </Communications>
        <Notes />
    </Project>
</ProjectExportDataGetResponse>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://service.powerclerk.com/api/v1/">
  <xs:element name="ProjectExportDataGetResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Project">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Data">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Group" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Field" maxOccurs="unbounded" minOccurs="0">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element type="xs:string" name="CurrentValue"/>
                                <xs:element name="HistoricalValues">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="Value" maxOccurs="unbounded" minOccurs="0">
                                        <xs:complexType>
                                          <xs:simpleContent>
                                            <xs:extension base="xs:string">
                                              <xs:attribute type="xs:string" name="ChangeTime" use="optional"/>
                                              <xs:attribute type="xs:string" name="ChangedBy" use="optional"/>
                                            </xs:extension>
                                          </xs:simpleContent>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                              <xs:attribute type="xs:string" name="Name"/>
                              <xs:attribute type="xs:string" name="ChangeTime"/>
                              <xs:attribute type="xs:string" name="ChangedBy"/>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="PVSystem" minOccurs="0">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Inverter" maxOccurs="unbounded" minOccurs="0">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="Panel" maxOccurs="unbounded" minOccurs="0">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="Shadings">
                                              <xs:complexType>
                                                <xs:sequence>
                                                  <xs:element name="PercentMonthlyAccess" maxOccurs="unbounded" minOccurs="0">
                                                    <xs:complexType>
                                                      <xs:simpleContent>
                                                        <xs:extension base="xs:float">
                                                          <xs:attribute type="xs:byte" name="Month" use="optional"/>
                                                        </xs:extension>
                                                      </xs:simpleContent>
                                                    </xs:complexType>
                                                  </xs:element>
                                                  <xs:element name="SolarObstructionAngle" maxOccurs="unbounded" minOccurs="0">
                                                    <xs:complexType>
                                                      <xs:simpleContent>
                                                        <xs:extension base="xs:float">
                                                          <xs:attribute type="xs:byte" name="Direction" use="optional"/>
                                                        </xs:extension>
                                                      </xs:simpleContent>
                                                    </xs:complexType>
                                                  </xs:element>
                                                </xs:sequence>
                                                <xs:attribute type="xs:string" name="Model" use="optional"/>
                                              </xs:complexType>
                                            </xs:element>
                                          </xs:sequence>
                                          <xs:attribute type="xs:byte" name="Quantity" use="optional"/>
                                          <xs:attribute type="xs:string" name="Manufacturer" use="optional"/>
                                          <xs:attribute type="xs:string" name="Model" use="optional"/>
                                          <xs:attribute type="xs:float" name="PTCRating" use="optional"/>
                                          <xs:attribute type="xs:float" name="NameplateRating" use="optional"/>
                                          <xs:attribute type="xs:byte" name="Tilt" use="optional"/>
                                          <xs:attribute type="xs:short" name="Azimuth" use="optional"/>
                                          <xs:attribute type="xs:string" name="Tracking" use="optional"/>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                    <xs:attribute type="xs:byte" name="Quantity" use="optional"/>
                                    <xs:attribute type="xs:string" name="Manufacturer" use="optional"/>
                                    <xs:attribute type="xs:string" name="Model" use="optional"/>
                                    <xs:attribute type="xs:float" name="NameplateRating_kW" use="optional"/>
                                    <xs:attribute type="xs:float" name="Efficiency" use="optional"/>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute type="xs:string" name="Name" use="optional"/>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Field" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element type="xs:string" name="CurrentValue"/>
                          <xs:element name="HistoricalValues" minOccurs="0">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Value" maxOccurs="unbounded" minOccurs="0">
                                  <xs:complexType>
                                    <xs:simpleContent>
                                      <xs:extension base="xs:string">
                                        <xs:attribute type="xs:string" name="ChangeTime" use="optional"/>
                                        <xs:attribute type="xs:string" name="ChangedBy" use="optional"/>
                                      </xs:extension>
                                    </xs:simpleContent>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute type="xs:string" name="Name"/>
                        <xs:attribute type="xs:string" name="ChangeTime"/>
                        <xs:attribute type="xs:string" name="ChangedBy"/>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Attachments" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Attachment" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="File" maxOccurs="unbounded" minOccurs="0">
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="xs:string">
                                  <xs:attribute type="xs:string" name="IsApproved" use="optional"/>
                                  <xs:attribute type="xs:string" name="IsRejected" use="optional"/>
                                  <xs:attribute type="xs:string" name="Note" use="optional"/>
                                  <xs:attribute type="xs:string" name="LastChangedTimestampUTC" use="optional"/>
                                  <xs:attribute type="xs:string" name="ChangedBy" use="optional"/>
                                  <xs:attribute type="xs:string" name="Name" use="optional"/>
                                  <xs:attribute type="xs:string" name="MimeType" use="optional"/>
                                  <xs:attribute type="xs:string" name="UploadTimestampUTC" use="optional"/>
                                  <xs:attribute type="xs:string" name="UploadedBy" use="optional"/>
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute type="xs:string" name="Name" use="optional"/>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="ESignatures" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="ESignature" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Recipients">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Recipient" maxOccurs="unbounded" minOccurs="0">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="SignatoryFor" maxOccurs="unbounded" minOccurs="0">
                                        <xs:complexType>
                                          <xs:simpleContent>
                                            <xs:extension base="xs:string">
                                              <xs:attribute type="xs:string" name="Label" use="optional"/>
                                              <xs:attribute type="xs:string" name="DocumentId" use="optional"/>
                                            </xs:extension>
                                          </xs:simpleContent>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                    <xs:attribute type="xs:string" name="Status" use="optional"/>
                                    <xs:attribute type="xs:string" name="Email" use="optional"/>
                                    <xs:attribute type="xs:string" name="Name" use="optional"/>
                                    <xs:attribute type="xs:byte" name="SignatoryID" use="optional"/>
                                    <xs:attribute type="xs:string" name="AutoResponseReason" use="optional"/>
                                    <xs:attribute type="xs:string" name="DeclineReason" use="optional"/>
                                    <xs:attribute type="xs:string" name="DeclinedDateUTC" use="optional"/>
                                    <xs:attribute type="xs:string" name="DeliveredDateUTC" use="optional"/>
                                    <xs:attribute type="xs:string" name="SentDateUTC" use="optional"/>
                                    <xs:attribute type="xs:string" name="SignedDateUTC" use="optional"/>
                                    <xs:attribute type="xs:string" name="TimeGeneratedUTC" use="optional"/>
                                    <xs:attribute type="xs:string" name="TimeReceivedUTC" use="optional"/>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="Documents" maxOccurs="unbounded" minOccurs="0">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Document" maxOccurs="unbounded" minOccurs="0">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="Signatories">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="Signatory" maxOccurs="unbounded" minOccurs="0">
                                              <xs:complexType>
                                                <xs:simpleContent>
                                                  <xs:extension base="xs:string">
                                                    <xs:attribute type="xs:string" name="Label" use="optional"/>
                                                    <xs:attribute type="xs:string" name="FirstName" use="optional"/>
                                                    <xs:attribute type="xs:string" name="LastName" use="optional"/>
                                                    <xs:attribute type="xs:string" name="Email" use="optional"/>
                                                  </xs:extension>
                                                </xs:simpleContent>
                                              </xs:complexType>
                                            </xs:element>
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                    <xs:attribute type="xs:string" name="Name" use="optional"/>
                                    <xs:attribute type="xs:string" name="FileName" use="optional"/>
                                    <xs:attribute type="xs:string" name="MimeType" use="optional"/>
                                    <xs:attribute type="xs:string" name="DocumentId" use="optional"/>
                                    <xs:attribute type="xs:string" name="UploadTimestampUTC" use="optional"/>
                                    <xs:attribute type="xs:string" name="UploadedBy" use="optional"/>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute type="xs:string" name="Status" use="optional"/>
                        <xs:attribute type="xs:string" name="CreatedBy" use="optional"/>
                        <xs:attribute type="xs:string" name="CanceledBy" use="optional"/>
                        <xs:attribute type="xs:string" name="CreatedDateUTC" use="optional"/>
                        <xs:attribute type="xs:string" name="CompletedDateUTC" use="optional"/>
                        <xs:attribute type="xs:string" name="DeclinedDateUTC" use="optional"/>
                        <xs:attribute type="xs:string" name="DeliveredDateUTC" use="optional"/>
                        <xs:attribute type="xs:string" name="DeletedDateUTC" use="optional"/>
                        <xs:attribute type="xs:string" name="SentDateUTC" use="optional"/>
                        <xs:attribute type="xs:string" name="SignedDateUTC" use="optional"/>
                        <xs:attribute type="xs:string" name="TimeGeneratedUTC" use="optional"/>
                        <xs:attribute type="xs:string" name="TimeReceivedUTC" use="optional"/>
                        <xs:attribute type="xs:string" name="TimedOutUTC" use="optional"/>
                        <xs:attribute type="xs:string" name="CanceledUTC" use="optional"/>
                        <xs:attribute type="xs:string" name="CancelExplanation" use="optional"/>
                        <xs:attribute type="xs:string" name="VoidReason" use="optional"/>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute type="xs:string" name="CreatedBy"/>
                </xs:complexType>
              </xs:element>
              <xs:element name="StatusHistory">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Status" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute type="xs:string" name="Name" use="optional"/>
                            <xs:attribute type="xs:string" name="DeletedStatus" use="optional"/>
                            <xs:attribute type="xs:string" name="TimestampUTC" use="optional"/>
                            <xs:attribute type="xs:string" name="ExcludeFromReporting" use="optional"/>
                            <xs:attribute type="xs:string" name="ReportAsDateUTC" use="optional"/>
                            <xs:attribute type="xs:string" name="LastReportDataChangedBy" use="optional"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Communications">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Email" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute type="xs:string" name="To" use="optional"/>
                            <xs:attribute type="xs:string" name="CC" use="optional"/>
                            <xs:attribute type="xs:string" name="BCC" use="optional"/>
                            <xs:attribute type="xs:string" name="Subject" use="optional"/>
                            <xs:attribute type="xs:string" name="Status" use="optional"/>
                            <xs:attribute type="xs:string" name="Description" use="optional"/>
                            <xs:attribute type="xs:string" name="ReplyToEmail" use="optional"/>
                            <xs:attribute type="xs:string" name="ReplyToDisplayName" use="optional"/>
                            <xs:attribute type="xs:string" name="SentTimestampUTC" use="optional"/>
                            <xs:attribute type="xs:string" name="SentBy" use="optional"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Payments">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Payment" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute type="xs:string" name="PayerEmail" use="optional"/>
                            <xs:attribute type="xs:string" name="PayerName" use="optional"/>
                            <xs:attribute type="xs:string" name="Amount" use="optional"/>
                            <xs:attribute type="xs:string" name="Status" use="optional"/>
                            <xs:attribute type="xs:string" name="Date" use="optional"/>
                            <xs:attribute type="xs:string" name="ChangedBy" use="optional"/>
                            <xs:attribute type="xs:string" name="Form" use="optional"/>
                            <xs:attribute type="xs:string" name="ReceiptNumber" use="optional"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Notes">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Note" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute type="xs:string" name="ChangedBy" use="optional"/>
                            <xs:attribute type="xs:string" name="CreationTimestampUTC" use="optional"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute type="xs:string" name="Number" use="optional"/>
            <xs:attribute type="xs:string" name="Owner" use="optional"/>
            <xs:attribute type="xs:string" name="Assignee" use="optional"/>
            <xs:attribute type="xs:string" name="CreatedUTC" use="optional"/>
            <xs:attribute type="xs:string" name="LastChangedUTC" use="optional"/>
            <xs:attribute type="xs:string" name="LastChangedBy" use="optional"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
   </xs:element>
 </xs:schema>

Sample Response V2


<ProjectExportDataGetResponse>
    <Project Number="TEST-00028" Owner="solar@cleanpower.com" CreatedUTC="2015-04-16T23-59-45" LastChangedUTC="2015-04-17T00-00-48" LastChangedBy=“solar@cleanpower.com">
        <Data>
            <Group Name="Facility Contact">
                <Field Name="Facility Contact City" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>asdf</CurrentValue>
                </Field>
                <Field Name="Facility Contact Email" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com
                    <CurrentValue>SampleUser220@cleanpower.com</CurrentValue>
                </Field>
                <Field Name="Facility Contact First" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com ">
                    <CurrentValue>Bob</CurrentValue>
                </Field>
                <Field Name="Facility Contact Last" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>Solar</CurrentValue>
                </Field>
                <Field Name="Facility Contact Line 1" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar @cleanpower.com">
                    <CurrentValue>123 Main St.</CurrentValue>
                </Field>
                <Field Name="Facility Contact Phone" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>425-555-5555</CurrentValue>
                </Field>
                <Field Name="Facility Contact State" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>WA</CurrentValue>
                </Field>
                <Field Name="Facility Contact Zip Code" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>98008</CurrentValue>
                </Field>
            </Group>
            <Group Name="Applicant">
                <Field Name="Applicant City" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>asdf</CurrentValue>
                </Field>
                <Field Name="Applicant Email" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>SampleUser3989@cleanpower.com</CurrentValue>
                </Field>
                <Field Name="Applicant First" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>Bob</CurrentValue>
                </Field>
                <Field Name="Applicant Last" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>Solar</CurrentValue>
                </Field>
                <Field Name="Applicant Line 1" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>123 Main St.</CurrentValue>
                </Field>
                <Field Name="Applicant Phone" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>425-555-5555</CurrentValue>
                </Field>
                <Field Name="Applicant State" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>wa</CurrentValue>
                </Field>
                <Field Name="Applicant Zip Code" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                    <CurrentValue>98008</CurrentValue>
                </Field>
            </Group>
            <Group Name="Installer">
                <Field Name="Installer City" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>asdf</CurrentValue>
                </Field>
                <Field Name="Installer Email" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>SampleUser2958@cleanpower.com</CurrentValue>
                </Field>
                <Field Name="Installer First" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>Bob</CurrentValue>
                </Field>
                <Field Name="Installer Last" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>Solar</CurrentValue>
                </Field>
                <Field Name="Installer Line 1" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>123 Main St.</CurrentValue>
                </Field>
                <Field Name="Installer Phone" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>425-555-5555</CurrentValue>
                </Field>
                <Field Name="Installer State" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>wa</CurrentValue>
                </Field>
                <Field Name="Installer Zip Code" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>98008</CurrentValue>
                </Field>
            </Group>
            <Group Name="System Owner">
                <Field Name="System Owner City" ChangeTime="2015-04-17T00-00-47" ChangedBy="solar@cleanpower.com">
                    <CurrentValue>asdf</CurrentValue>
                </Field>
                <Field Name="System Owner Email" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                    <CurrentValue>SampleUser1486@cleanpower.com</CurrentValue>
                </Field>
                <Field Name="System Owner First" ChangeTime="2015-04-17T00-00-47" ChangedBy="rorleth@cleanpower.com">
                    <CurrentValue>Bob</CurrentValue>
                </Field>
                <Field Name="System Owner Last" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                    <CurrentValue>Solar</CurrentValue>
                </Field>
                <Field Name="System Owner Line 1" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                    <CurrentValue>123 Main St.</CurrentValue>
                </Field>
                <Field Name="System Owner Phone" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                    <CurrentValue>425-555-5555</CurrentValue>
                </Field>
                <Field Name="System Owner State" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                    <CurrentValue>wa</CurrentValue>
                </Field>
                <Field Name="System Owner Zip Code" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                    <CurrentValue>98008</CurrentValue>
                </Field>
            </Group>
            <Group Name="PV System">
                <Field Name="PV System CEC Rating" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                    <CurrentValue>40.091</CurrentValue>
                </Field>
                <Field Name="PV System Design Factor" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                    <CurrentValue>63.5</CurrentValue>
                </Field>
                <Field Name="PV System Estimated Production" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                    <CurrentValue>50224</CurrentValue>
                </Field>
                <Field Name="PV System Nameplate Rating" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                    <CurrentValue>48.84</CurrentValue>
                </Field>
                <PVSystem>
                    <Inverter Quantity="12" Manufacturer="Ablerex Electronics" Model="5.0 kW (Model ES 5000-US-240A)" NameplateRating_kW="5" Efficiency="0.955">
                        <Panel Quantity="222" Manufacturer="A10Green Technology" Model="220W (Model A10J-M60-220)" PTCRating="0.1891" NameplateRating="0.22" Tilt="23" Azimuth="180" Tracking="Fixed">
                            <Shadings Model="monthly">
                                <PercentMonthlyAccess Month="1">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="2">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="3">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="4">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="5">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="6">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="7">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="8">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="9">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="10">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="11">100</PercentMonthlyAccess>
                                <PercentMonthlyAccess Month="12">100</PercentMonthlyAccess>
                            </Shadings>
                        </Panel>
                    </Inverter>
                </PVSystem>
            </Group>
            <Field Name="Account Number" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                <CurrentValue>7QYQ</CurrentValue>
            </Field>
            <Field Name="Application Date" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                <CurrentValue>4/16/2015</CurrentValue>
            </Field>
            <Field Name="Contractor act customer behalf" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                <CurrentValue>True</CurrentValue>
            </Field>
            <Field Name="Description of Service" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                <CurrentValue>This is a new generating facility at a currently served location</CurrentValue>
            </Field>
            <Field Name="Disconnect Switch Manufacturer" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                <CurrentValue>asd</CurrentValue>
            </Field>
            <Field Name="Disconnect Switch Model" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                <CurrentValue>asd</CurrentValue>
            </Field>
            <Field Name="Disconnect Switch Rating" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                <CurrentValue>111</CurrentValue>
            </Field>
            <Field Name="Meter Number" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                <CurrentValue>2A6QZ1A7</CurrentValue>
            </Field>
            <Field Name="Operation date" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                <CurrentValue>4/22/2015</CurrentValue>
            </Field>
            <Field Name="Possible meter access issues" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                <CurrentValue>None</CurrentValue>
            </Field>
            <Field Name="Premise Number" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                <CurrentValue>Z070Y0</CurrentValue>
            </Field>
            <Field Name="System Owner Same As Facility Owner" ChangeTime="2015-04-17T00-00-47" ChangedBy=“solar@cleanpower.com">
                <CurrentValue>Yes</CurrentValue>
            </Field>
        </Data>
        <Attachments />
        <StatusHistory>
            <Status Name="Application in Process" TimestampUTC="2015-04-17T00-00-48" ChangedBy=“solar@cleanpower.com" />
            <Status Name="Unsubmitted" TimestampUTC="2015-04-16T23-59-45" ChangedBy=“solar@cleanpower.com" />
        </StatusHistory>
        <Communications>
            <Email To="SampleUser4567@cleanpower.com" CC="SampleUser4644@cleanpower.com" BCC="SampleUser2305@cleanpower.com" Subject="Sample Message 1876" Status="Sent" Description="TestTemplate" SentTimestampUTC="2015-04-17T00-00-47" SentBy=“solar@cleanpower.com"><![CDATA[<!DOCTYPE html><html><head></head><body><p>Sample Message</p></body></html>]]></Email>
        </Communications>
        <Notes />
    </Project>
</ProjectExportDataGetResponse>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://service.powerclerk.com/api/v1/">
  <xs:element name="ProjectExportDataGetResponse">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="Project">
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="Data">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Group" maxOccurs="unbounded" minOccurs="0">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Field" maxOccurs="unbounded" minOccurs="0">
                                    <xs:complexType>
                                      <xs:sequence>
                                        <xs:element type="xs:string" name="CurrentValue"/>
                                        <xs:element name="HistoricalValues">
                                          <xs:complexType>
                                            <xs:sequence>
                                              <xs:element name="Value" maxOccurs="unbounded" minOccurs="0">
                                                <xs:complexType>
                                                  <xs:simpleContent>
                                                    <xs:extension base="xs:string">
                                                      <xs:attribute type="xs:string" name="ChangeTime" use="optional"/>
                                                      <xs:attribute type="xs:string" name="ChangedBy" use="optional"/>
                                                    </xs:extension>
                                                  </xs:simpleContent>
                                                </xs:complexType>
                                              </xs:element>
                                            </xs:sequence>
                                          </xs:complexType>
                                        </xs:element>
                                      </xs:sequence>
                                      <xs:attribute type="xs:string" name="Name"/>
                                      <xs:attribute type="xs:string" name="ChangeTime"/>
                                      <xs:attribute type="xs:string" name="ChangedBy"/>
                                    </xs:complexType>
                                </xs:element>
                                <xs:element name="PVSystem" minOccurs="0">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="Inverter" maxOccurs="unbounded" minOccurs="0">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="Panel" maxOccurs="unbounded" minOccurs="0">
                                              <xs:complexType>
                                                <xs:sequence>
                                                  <xs:element name="Shadings">
                                                    <xs:complexType>
                                                      <xs:sequence>
                                                        <xs:element name="PercentMonthlyAccess" maxOccurs="unbounded" minOccurs="0">
                                                          <xs:complexType>
                                                            <xs:simpleContent>
                                                              <xs:extension base="xs:float">
                                                                <xs:attribute type="xs:byte" name="Month" use="optional"/>
                                                              </xs:extension>
                                                            </xs:simpleContent>
                                                          </xs:complexType>
                                                        </xs:element>
                                                        <xs:element name="SolarObstructionAngle" maxOccurs="unbounded" minOccurs="0">
                                                          <xs:complexType>
                                                            <xs:simpleContent>
                                                              <xs:extension base="xs:float">
                                                                <xs:attribute type="xs:byte" name="Direction" use="optional"/>
                                                              </xs:extension>
                                                            </xs:simpleContent>
                                                          </xs:complexType>
                                                        </xs:element>
                                                      </xs:sequence>
                                                      <xs:attribute type="xs:string" name="Model" use="optional"/>
                                                    </xs:complexType>
                                                  </xs:element>
                                                </xs:sequence>
                                                <xs:attribute type="xs:byte" name="Quantity" use="optional"/>
                                                <xs:attribute type="xs:string" name="Manufacturer" use="optional"/>
                                                <xs:attribute type="xs:string" name="Model" use="optional"/>
                                                <xs:attribute type="xs:float" name="PTCRating" use="optional"/>
                                                <xs:attribute type="xs:float" name="NameplateRating" use="optional"/>
                                                <xs:attribute type="xs:byte" name="Tilt" use="optional"/>
                                                <xs:attribute type="xs:short" name="Azimuth" use="optional"/>
                                                <xs:attribute type="xs:string" name="Tracking" use="optional"/>
                                              </xs:complexType>
                                            </xs:element>
                                          </xs:sequence>
                                          <xs:attribute type="xs:byte" name="Quantity" use="optional"/>
                                          <xs:attribute type="xs:string" name="Manufacturer" use="optional"/>
                                          <xs:attribute type="xs:string" name="Model" use="optional"/>
                                          <xs:attribute type="xs:float" name="NameplateRating_kW" use="optional"/>
                                          <xs:attribute type="xs:float" name="Efficiency" use="optional"/>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                              <xs:attribute type="xs:string" name="Name" use="optional"/>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="Field" maxOccurs="unbounded" minOccurs="0">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element type="xs:string" name="CurrentValue"/>
                                <xs:element name="HistoricalValues" minOccurs="0">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="Value" maxOccurs="unbounded" minOccurs="0">
                                        <xs:complexType>
                                          <xs:simpleContent>
                                            <xs:extension base="xs:string">
                                              <xs:attribute type="xs:string" name="ChangeTime" use="optional"/>
                                              <xs:attribute type="xs:string" name="ChangedBy" use="optional"/>
                                            </xs:extension>
                                          </xs:simpleContent>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                              <xs:attribute type="xs:string" name="Name"/>
                              <xs:attribute type="xs:string" name="ChangeTime"/>
                              <xs:attribute type="xs:string" name="ChangedBy"/>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Attachments" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Attachment" maxOccurs="unbounded" minOccurs="0">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="File" maxOccurs="unbounded" minOccurs="0">
                                  <xs:complexType>
                                    <xs:simpleContent>
                                      <xs:extension base="xs:string">
                                        <xs:attribute type="xs:string" name="IsApproved" use="optional"/>
                                        <xs:attribute type="xs:string" name="IsRejected" use="optional"/>
                                        <xs:attribute type="xs:string" name="Note" use="optional"/>
                                        <xs:attribute type="xs:string" name="LastChangedTimestampUTC" use="optional"/>
                                        <xs:attribute type="xs:string" name="ChangedBy" use="optional"/>
                                        <xs:attribute type="xs:string" name="Name" use="optional"/>
                                        <xs:attribute type="xs:string" name="MimeType" use="optional"/>
                                        <xs:attribute type="xs:string" name="UploadTimestampUTC" use="optional"/>
                                        <xs:attribute type="xs:string" name="UploadedBy" use="optional"/>
                                      </xs:extension>
                                    </xs:simpleContent>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                              <xs:attribute type="xs:string" name="Name" use="optional"/>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="ESignatures" minOccurs="0">
                        <xs:complexType>
                          <xs:sequence>
                            <xs:element name="ESignature" maxOccurs="unbounded" minOccurs="0">
                              <xs:complexType>
                                <xs:sequence>
                                  <xs:element name="Recipients">
                                    <xs:complexType>
                                      <xs:sequence>
                                        <xs:element name="Recipient" maxOccurs="unbounded" minOccurs="0">
                                          <xs:complexType>
                                            <xs:sequence>
                                              <xs:element name="SignatoryFor" maxOccurs="unbounded" minOccurs="0">
                                                <xs:complexType>
                                                  <xs:simpleContent>
                                                    <xs:extension base="xs:string">
                                                      <xs:attribute type="xs:string" name="Label" use="optional"/>
                                                      <xs:attribute type="xs:string" name="DocumentId" use="optional"/>
                                                    </xs:extension>
                                                  </xs:simpleContent>
                                                </xs:complexType>
                                              </xs:element>
                                            </xs:sequence>
                                            <xs:attribute type="xs:string" name="Status" use="optional"/>
                                            <xs:attribute type="xs:string" name="Email" use="optional"/>
                                            <xs:attribute type="xs:string" name="Name" use="optional"/>
                                            <xs:attribute type="xs:byte" name="SignatoryID" use="optional"/>
                                            <xs:attribute type="xs:string" name="AutoResponseReason" use="optional"/>
                                            <xs:attribute type="xs:string" name="DeclineReason" use="optional"/>
                                            <xs:attribute type="xs:string" name="DeclinedDateUTC" use="optional"/>
                                            <xs:attribute type="xs:string" name="DeliveredDateUTC" use="optional"/>
                                            <xs:attribute type="xs:string" name="SentDateUTC" use="optional"/>
                                            <xs:attribute type="xs:string" name="SignedDateUTC" use="optional"/>
                                            <xs:attribute type="xs:string" name="TimeGeneratedUTC" use="optional"/>
                                            <xs:attribute type="xs:string" name="TimeReceivedUTC" use="optional"/>
                                          </xs:complexType>
                                        </xs:element>
                                      </xs:sequence>
                                    </xs:complexType>
                                  </xs:element>
                                  <xs:element name="Documents" maxOccurs="unbounded" minOccurs="0">
                                    <xs:complexType>
                                      <xs:sequence>
                                        <xs:element name="Document" maxOccurs="unbounded" minOccurs="0">
                                          <xs:complexType>
                                            <xs:sequence>
                                              <xs:element name="Signatories">
                                                <xs:complexType>
                                                  <xs:sequence>
                                                    <xs:element name="Signatory" maxOccurs="unbounded" minOccurs="0">
                                                      <xs:complexType>
                                                        <xs:simpleContent>
                                                          <xs:extension base="xs:string">
                                                            <xs:attribute type="xs:string" name="Label" use="optional"/>
                                                            <xs:attribute type="xs:string" name="FirstName" use="optional"/>
                                                            <xs:attribute type="xs:string" name="LastName" use="optional"/>
                                                            <xs:attribute type="xs:string" name="Email" use="optional"/>
                                                          </xs:extension>
                                                        </xs:simpleContent>
                                                      </xs:complexType>
                                                    </xs:element>
                                                  </xs:sequence>
                                                </xs:complexType>
                                              </xs:element>
                                            </xs:sequence>
                                            <xs:attribute type="xs:string" name="Name" use="optional"/>
                                            <xs:attribute type="xs:string" name="FileName" use="optional"/>
                                            <xs:attribute type="xs:string" name="MimeType" use="optional"/>
                                            <xs:attribute type="xs:string" name="DocumentId" use="optional"/>
                                            <xs:attribute type="xs:string" name="UploadTimestampUTC" use="optional"/>
                                            <xs:attribute type="xs:string" name="UploadedBy" use="optional"/>
                                          </xs:complexType>
                                        </xs:element>
                                      </xs:sequence>
                                    </xs:complexType>
                                  </xs:element>
                                </xs:sequence>
                                <xs:attribute type="xs:string" name="Status" use="optional"/>
                                <xs:attribute type="xs:string" name="CreatedBy" use="optional"/>
                                <xs:attribute type="xs:string" name="CanceledBy" use="optional"/>
                                <xs:attribute type="xs:string" name="CreatedDateUTC" use="optional"/>
                                <xs:attribute type="xs:string" name="CompletedDateUTC" use="optional"/>
                                <xs:attribute type="xs:string" name="DeclinedDateUTC" use="optional"/>
                                <xs:attribute type="xs:string" name="DeliveredDateUTC" use="optional"/>
                                <xs:attribute type="xs:string" name="DeletedDateUTC" use="optional"/>
                                <xs:attribute type="xs:string" name="SentDateUTC" use="optional"/>
                                <xs:attribute type="xs:string" name="SignedDateUTC" use="optional"/>
                                <xs:attribute type="xs:string" name="TimeGeneratedUTC" use="optional"/>
                                <xs:attribute type="xs:string" name="TimeReceivedUTC" use="optional"/>
                                <xs:attribute type="xs:string" name="TimedOutUTC" use="optional"/>
                                <xs:attribute type="xs:string" name="CanceledUTC" use="optional"/>
                                <xs:attribute type="xs:string" name="CancelExplanation" use="optional"/>
                                <xs:attribute type="xs:string" name="VoidReason" use="optional"/>
                              </xs:complexType>
                            </xs:element>
                          </xs:sequence>
                          <xs:attribute type="xs:string" name="CreatedBy"/>
                        </xs:complexType>
                    </xs:element>
                    <xs:element name="StatusHistory">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Status" maxOccurs="unbounded" minOccurs="0">
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="xs:string">
                                  <xs:attribute type="xs:string" name="Name" use="optional"/>
                                  <xs:attribute type="xs:string" name="DeletedStatus" use="optional"/>
                                  <xs:attribute type="xs:string" name="TimestampUTC" use="optional"/>
                                  <xs:attribute type="xs:string" name="ExcludeFromReporting" use="optional"/>
                                  <xs:attribute type="xs:string" name="ReportAsDateUTC" use="optional"/>
                                  <xs:attribute type="xs:string" name="LastReportDataChangedBy" use="optional"/>
                                  <xs:attribute type="xs:string" name="ChangedBy" use="required"/>
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Communications">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Email" maxOccurs="unbounded" minOccurs="0">
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="xs:string">
                                  <xs:attribute type="xs:string" name="To" use="optional"/>
                                  <xs:attribute type="xs:string" name="CC" use="optional"/>
                                  <xs:attribute type="xs:string" name="BCC" use="optional"/>
                                  <xs:attribute type="xs:string" name="Subject" use="optional"/>
                                  <xs:attribute type="xs:string" name="Status" use="optional"/>
                                  <xs:attribute type="xs:string" name="Description" use="optional"/>
                                  <xs:attribute type="xs:string" name="ReplyToEmail" use="optional"/>
                                  <xs:attribute type="xs:string" name="ReplyToDisplayName" use="optional"/>
                                  <xs:attribute type="xs:string" name="SentTimestampUTC" use="optional"/>
                                  <xs:attribute type="xs:string" name="SentBy" use="optional"/>
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Payments">
                      <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Payment" maxOccurs="unbounded" minOccurs="0">
                                <xs:complexType>
                                  <xs:simpleContent>
                                    <xs:extension base="xs:string">
                                      <xs:attribute type="xs:string" name="PayerEmail" use="optional"/>
                                      <xs:attribute type="xs:string" name="PayerName" use="optional"/>
                                      <xs:attribute type="xs:string" name="Amount" use="optional"/>
                                      <xs:attribute type="xs:string" name="Status" use="optional"/>
                                      <xs:attribute type="xs:string" name="Date" use="optional"/>
                                      <xs:attribute type="xs:string" name="ChangedBy" use="optional"/>
                                      <xs:attribute type="xs:string" name="Form" use="optional"/>
                                      <xs:attribute type="xs:string" name="ReceiptNumber" use="optional"/>
                                    </xs:extension>
                                  </xs:simpleContent>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Notes">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="Note" maxOccurs="unbounded" minOccurs="0">
                                  <xs:complexType>
                                    <xs:simpleContent>
                                      <xs:extension base="xs:string">
                                        <xs:attribute type="xs:string" name="ChangedBy" use="optional"/>
                                        <xs:attribute type="xs:string" name="CreationTimestampUTC" use="optional"/>
                                      </xs:extension>
                                    </xs:simpleContent>
                                  </xs:complexType>
                                </xs:element>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
                <xs:attribute type="xs:string" name="Number" use="optional"/>
                <xs:attribute type="xs:string" name="Owner" use="optional"/>
                <xs:attribute type="xs:string" name="CreatedUTC" use="optional"/>
                <xs:attribute type="xs:string" name="LastChangedUTC" use="optional"/>
                <xs:attribute type="xs:string" name="LastChangedBy" use="optional"/>
            </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Response XML Attributes

<Field> Attributes

Name – Name for data field
ChangeTime – Timestamp. Last time the data field was changed
ChangeBy – User Name. Unique user name whom changed the datafield
 

<ESignature> Attributes

Status – The status that the eSignature is in
CreatedBy – User that created the eSignature
CanceledBy – User that canceled the eSignature
ChangeBy – User that changed the eSignature
CreatedDateUTC – Timestamp. When the eSignature was created
CompletedDateUTC – Timestamp. When the eSignature was completed
DeclinedDateUTC – Timestamp. When the eSignature was declined
DeletedDateUTC – Timestamp. When the eSignature was deleted
SentDateUTC – Timestamp. The eSignature was sent
SignedDateUTC – Timestamp. The eSignature was signed
TimeGeneratedUTC – Timestamp. Whe eSignature was generated
TimeReceivedUTC – Timestamp. The eSignature was received
TimedOutUTC – Timestamp. When eSignature timed out
CanceledUTC – Timestamp. When eSignature was canceled
CancelExplanation – Reason why the eSignature was canceled
VoidReason – Reason why the eSignature was voided
 

<Status> Attributes

Name – Current status of the project
DeletedStatus – Boolean. Whether the status was deleted
TimestampUTC – Timestamp of when the project entered the current status.
ExcludeFromReporting – Boolean. Whether the status is used during reports.
ReportAsDateUTC – Timestamp. The timestamp used during reports
LastReportDatachangedBy – User that changed the report.
ChangedBy – User that initially change project to the current status.

 

<Communications> Attributes

To – The ‘To’ line of communcation
CC – The ‘CC’ line of communcation
BCC – The ‘BCC’ line of communcation
Subject – The ‘Subject’ line of communcation
Status – The status of the communication
Description – The content sent in the communication
ReplyToEmail – The ‘ReplyToEmail line of communcation
ReplyToDisplayName – The ‘ReplyToDisplayName’ line of communcation
SentTimestampUTC – Timestamp. When the communication was sent
SentBy – User who sent the communiction
 

<Payments> Attributes

PayerEmail – Email of the payer
PayerName – Name of the payer
Amount – The amount the payment is
Status – The current status of the payment
Date – Date the payment was submitted
ChangedBy – User to last change the payment
Form – The form that the epayment was submitted on
ReceiptNumber – Instance id of the data field (for multi-instance data fields only)
 

<File> Attributes

Name – Attachment filename
IsApproved – Boolean. File is approved
IsRejected – Boolean. File was rejected
Note – Email Address of the user who uploaded the document.
LastChangedTimestampUTC – Timestamp of when the attachment was last uploaded.
ChangedBy – User who last uploaded the document.
MimeType – File Type
UploadTimestampUTC – Timestamp of when the attachment was uploaded.
UploadedBy – User who uploaded the document.

Sample Code


// Move the given project into the given status.
// Returns true if the status change completed successfully, false otherwise.

public XDocument GetExportProject(string programId, string projectId, string version, string username, string password, string apiKey)
{
    string url = "/Programs/" + programId + "/Projects/" + projectId + "/Export/" + version;
    XDocument xmlResponse = MakeGetRequest(BaseUrl + url, null, username, password, apiKey);

    return xmlResponse;
}

function getExportProject(programId, projectId, statusId) {
    // Use $.ajax jQuery method to execute the API call
    $.ajax({
        type: "GET",
        url: "https://{BaseURL}/Programs/" + programId + "/Projects/" + projectId + "/Export/" + version,
        dataType: "xml",
        beforeSend: function (xhr) {
            xhr.setRequestHeader("Authorization", "Basic " + hashedCredentials);
            xhr.setRequestHeader("X-ApiKey", apiKey);
        },
        success: function (xml) {
            // Display data
        },
        error: function (xhr) {
            // Display error
        }
    });
}
See Chapter Code Samples for MakeGetRequest sample code.

What’s Next?