Projects
Get a
list of projects → GET /projects.xml
Retrieve a list of projects for the current account
Response:
<projects>
<project>
...
</project>
<project>
...
</project>
</projects>
Get
a projects → GET /projects/#{project_id}.xml
Get information on a single projects
Response:
<project>
<archived type="boolean">false</archived>
<created-at type="datetime">2008-09-25T20:04:13+01:00</created-at>
<default-assigned-user-id type="integer" nil="true"/>
<default-milestone-id type="integer" nil="true"/>
<description nil="true"/>
<description-html/>
<id type="integer">17456</id>
<license>mit</license>
<name>oss with license</name>
<open-tickets-count type="integer">0</open-tickets-count>
<permalink>oss-with-license</permalink>
<public type="boolean">true</public>
<updated-at type="datetime">2008-09-25T20:04:14+01:00</updated-at>
<open-states>
new/f17 # You can add comments here
open/aaa # if you want to.
</open-states>
<closed-states>
resolved/6A0 # You can customize colors
hold/EB0 # with 3 or 6 character hex codes
invalid/A30 # 'A30' expands to 'AA3300'
</closed-states>
<open-states-list>new,open</open-states-list>
<closed-states-list>resolved,hold,invalid</closed-states-list>
</project>
Get initial state for a new project → GET
/projects/new.xml
Retrieve the initial state for a project.
Response:
<project>
<archived type="boolean"></archived>
<created-at type="datetime"></created-at>
<name></name>
<open-tickets-count type="integer">0</open-tickets-count>
<permalink></permalink>
<public type="boolean">false</public>
<default-assigned-user-id type="integer"></default-assigned-user-id>
<default-milestone-id type="integer"></default-milestone-id>
</project>
Create
a new project → POST /projects.xml
Creates a project. Note that even though the above XML shows more attributes, only the name, archived, and public attributes are allowed for creating or updating projects. Missing attributes will remain their default, as shown in the new project request above.
Request:
<project>
<archived type="boolean">false</archived>
<name>MyProj</name>
<public type="boolean">false</public>
</project>
Or, if you're using JSON:
{"project": {"name": "MyProj", "archived": false, "public": false}}
Response
HTTP Status: 201 Created
Location: http://ACCOUNT.lighthouseapp.com/projects/5.xml
<project>
<archived type="boolean">false</archived>
<created-at type="datetime">2006-07-23T21:13:24Z</created-at>
<name>MyProj</name>
<open-tickets-count type="integer">0</open-tickets-count>
<permalink>myproj</permalink>
<public type="boolean">false</public>
</project>
Update
a project - PUT /projects/#{project_id}.xml
Update an existing project. You can leave out fields to keep them unchanged.
Request:
<project>
<archived type="boolean">false</archived>
<name>Lighthouse Reloaded</name>
<public type="boolean">false</public>
</project>
Response:
HTTP Status: 200 OK
Delete
a project - DELETE /projects/#{project_id}.xml
This action should not be taken lightly. This will not only delete the project, but all the tickets and messages in it
Response:
HTTP Status: 200 OK