CreateNewProject

Creates a new, empty project in the given program. Requires write access to the program.

Request

POST /Programs/{ProgramId}/NewProject

Path Parameters

Name Value Description
ProgramId string Unique identifier for the program.

Request Body

Do not supply a request body with this method.

Response

Response Body

{
    "Project": {
        "ProjectId": string,
        "ProgramId": string,
        "ProjectNumber": null | string,
        "Url": string,
        "LastChangeTimestamp": datetime,
        "CurrentStatus": {
            "StatusId": string,
            "CustomId": null | string,
            "Name": string,
            "Timestamp": datetime
        },
        "Forms": [
            {
                "FormId": string,
                "CustomId": null | string,
                "ProgramId": string,
                "Name": string,
                "AvailableInStatuses": [
                    {
                        "StatusId": string,
                        "CustomId": null | string,
                        "Name": string
                    }
                ]
            }
        ]
    }
}
<span class="hljs-punctuation">{
    "Project": {
        "ProjectId": "G21VH0K8GP0E",
        "ProgramId": "4DYY5AZ862VM",
        "ProjectNumber": null,
        "Url": "http://testagency.powerclerk.com/MvcProjects/LandingPage?ProgramId=4DYY5AZ862VM&ProjectId=G21VH0K8GP0E",
        "LastChangeTimestamp": "2022-11-23T14:04:53-08:00",
        "CurrentStatus": {
            "StatusId": "CXE0P3EETB39",
            "CustomId": null,
            "Name": "Unsubmitted",
            "Timestamp": "2022-11-23T14:04:53-08:00"
        },
        "Forms": [
            {
                "FormId": "XXUC5V2KKAGV",
                "CustomId": null,
                "ProgramId": "4DYY5AZ862VM",
                "Name": "Net Metering Application - TEST",
                "AvailableInStatuses": [
                    {
                        "StatusId": "CXE0P3EETB39",
                        "CustomId": null,
                        "Name": "Unsubmitted"
                    },
                    {
                        "StatusId": "PZ0EWRNJS0FV",
                        "CustomId": null,
                        "Name": "Suspended"
                    }
                ]
            },
            {
                "FormId": "YQXREK4BFJGT",
                "CustomId": null,
                "ProgramId": "4DYY5AZ862VM",
                "Name": "TestForm",
                "AvailableInStatuses": [
                    {
                        "StatusId": "CXE0P3EETB39",
                        "CustomId": null,
                        "Name": "Unsubmitted"
                    }
                ]
            }
        ]
    }
}
</span>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
  <xs:element name="ProjectCreateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Project">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="CurrentStatus">
                <xs:complexType>
                  <xs:attribute type="xs:string" name="StatusId" use="required"/>
                  <xs:attribute type="xs:string" name="CustomId" use="optional"/>
                  <xs:attribute type="xs:string" name="Name" use="required"/>
                  <xs:attribute type="xs:dateTime" name="Timestamp" use="required"/>
                </xs:complexType>
              </xs:element>
              <xs:element name="Forms">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Form" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="AvailableInStatuses">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Status" maxOccurs="unbounded" minOccurs="0" >
                                  <xs:complexType>
                                    <xs:attribute type="xs:string" name="StatusId" use="required"/>
                                    <xs:attribute type="xs:string" name="CustomId" use="optional"/>
                                    <xs:attribute type="xs:string" name="Name" use="required"/>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute type="xs:string" name="FormId" use="required"/>
                        <xs:attribute type="xs:string" name="ProgramId" use="required"/>
                        <xs:attribute type="xs:string" name="Name" use="required"/>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute type="xs:string" name="ProjectId" use="required"/>
            <xs:attribute type="xs:string" name="ProgramId" use="required"/>
            <xs:attribute type="xs:string" name="ProjectNumber" use="optional"/>
            <xs:attribute type="xs:string" name="LastChangeTimestamp" use="required"/>
            <xs:attribute type="xs:anyURI" name="Url" use="required"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
<?xml version="1.0" encoding="utf-8"?>
<ProjectCreateResponse>
    <Project ProjectId="199YJK3SC5FF" ProgramId="4DYY5AZ862VM" Url="http://testagency.powerclerk.com/MvcProjects/LandingPage?ProgramId=4DYY5AZ862VM&ProjectId=199YJK3SC5FF" LastChangeTimestamp="2022-11-23T14:08:15-08:00">
        <CurrentStatus StatusId="CXE0P3EETB39" Name="Unsubmitted" Timestamp="2022-11-23T14:08:15-08:00" />
        <Forms>
            <Form FormId="XXUC5V2KKAGV" ProgramId="4DYY5AZ862VM" Name="Net Metering Application - TEST">
                <AvailableInStatuses>
                    <Status StatusId="PZ0EWRNJS0FV" Name="Suspended" />
                    <Status StatusId="CXE0P3EETB39" Name="Unsubmitted" />
                </AvailableInStatuses>
            </Form>
            <Form FormId="YQXREK4BFJGT" ProgramId="4DYY5AZ862VM" Name="TestForm">
                <AvailableInStatuses>
                    <Status StatusId="CXE0P3EETB39" Name="Unsubmitted" />
                </AvailableInStatuses>
            </Form>
        </Forms>
    </Project>
</ProjectCreateResponse>

Response Parameters

Name Value Description
Project.ProjectId string Unique identifier for the project.
Project.ProgramId string Unique identifier for the program.
Project.ProjectNumber null | string The project number assigned to the project.
Project.Url string A link to the landing page for the project.
Project.LastChangeTimestamp datetime Timestamp of the last change made to the project in the program’s time zone.
Project.CurrentStatus object The current status of the project.
Project.Forms[] list List of forms available for the project.
CurrentStatus.StatusId string Unique identifier for the status.
CurrentStatus.CustomId null | string Custom identifier for the status.
CurrentStatus.Name string Name of the status.
CurrentStatus.Timestamp datetime Timestamp of when the project entered the status in the program’s time zone.
Forms[].FormId string Unique identifier for the form.
Forms[].CustomId null | string Custom identifier for the form.
Forms[].Name string Name of the form.
Forms[].AvailableInStatuses[] list List of statuses the form is available in.
AvailableInStatuses[].StatusId string Unique identifier for the status.
AvailableInStatuses[].CustomId null | string Custom identifier for the status.
AvailableInStatuses[].Name string Name of the status.