Staff have access to the API calls listed below if the Time Tracking tab is enabled for staff. Each staff member can view all projects to which he or she is assigned. Each staff member can edit only those projects on which he or she is the Project Manager. Limited information is returned about projects that the staff member is assigned to, but not the manager of.
Create a new project. If you specify project-rate or flat-rate for bill_method, you must supply a rate.
<?xml version="1.0" encoding="utf-8"?>
<request method="project.create">
<project>
<!-- (Required) -->
<name>Website Redesign</name>
<!-- (Required) -->
<bill_method>project-rate</bill_method>
<!-- Associated client (Optional) -->
<client_id>21</client_id>
<!-- (Optional) -->
<rate>45.00</rate>
<!-- (Optional) -->
<description></description>
<!-- (Optional)-->
<hour_budget>13</hour_budget>
<tasks>
<task>
<task_id>5</task_id>
</task>
<task>
<task_id>3</task_id>
</task>
<task>
<task_id>12</task_id>
<rate>25</rate>
</task>
<task>
<task_id>11</task_id>
<rate>35</rate>
</task>
</tasks>
</project>
</request>
<?xml version="1.0" encoding="utf-8"?> <response xmlns="http://www.freshbooks.com/api/" status="ok"> <project_id>15</project_id> </response>
Update an existing project.
<?xml version="1.0" encoding="utf-8"?>
<request method="project.update">
<project>
<project_id>15</project_id>
<!-- Remaining params are same as project.create -->
</project>
</request>
<?xml version="1.0" encoding="utf-8"?> <response status="ok"/>
Retrieve an existing project.
<?xml version="1.0" encoding="utf-8"?> <request method="project.get"> <project_id>6</project_id> </request>
<?xml version="1.0" encoding="utf-8"?>
<response xmlns="http://www.freshbooks.com/api/" status="ok">
<project>
<project_id>6</project_id>
<name>Super Fun Project</name>
<description></description>
<rate>11000</rate>
<bill_method>flat-rate</bill_method>
<client_id>119</client_id>
<hour_budget>42</hour_budget>
<tasks>
<task>
<task_id>5</task_id>
</task>
<task>
<task_id>12</task_id>
</task>
<task>
<task_id>6</task_id>
<rate>25</rate>
</task>
<task>
<task_id>7</task_id>
<rate>35</rate>
</task>
</tasks>
<staff>
<staff>
<staff_id>1</staff_id>
</staff>
<staff>
<staff_id>2</staff_id>
</staff>
<staff>
<staff_id>3</staff_id>
</staff>
<staff_id deprecated="true">1</staff_id>
<staff_id deprecated="true">2</staff_id>
<staff_id deprecated="true">3</staff_id>
</staff><
<budget>
<hours>00.00</hours>
</budget>
</project>
</response>
Delete an existing project.
<?xml version="1.0" encoding="utf-8"?> <request method="project.delete"> <project_id>15</project_id> </request>
<?xml version="1.0" encoding="utf-8"?> <response status="ok"/>
Returns a list of projects in alphabetical order.
<?xml version="1.0" encoding="utf-8"?> <request method="project.list"> <!-- The page number to show (Optional) --> <page>1</page> <!-- Number of results per page, default 25 (Optional) --> <per_page>15</per_page> </request>
<?xml version="1.0" encoding="utf-8"?>
<response xmlns="http://www.freshbooks.com/api/" status="ok">
<projects page="1" per_page="15" pages="1" total="5">
<project>
<project_id>6</project_id>
<name>Super Fun Project</name>
<description></description>
<rate>11000</rate>
<bill_method>flat-rate</bill_method>
<client_id>119</client_id>
<hour_budget>100</hour_budget>
<tasks>
<task>
<task_id>5</task_id>
</task>
<task>
<task_id>12</task_id>
</task>
<task>
<task_id>6</task_id>
<rate>25</rate>
</task>
<task>
<task_id>7</task_id>
<rate>35</rate>
</task>
</tasks>
<staff>
<staff>
<staff_id>1</staff_id>
</staff>
<staff>
<staff_id>2</staff_id>
</staff>
<staff>
<staff_id>3</staff_id>
</staff>
<staff_id deprecated="true">1</staff_id>
<staff_id deprecated="true">2</staff_id>
<staff_id deprecated="true">3</staff_id>
</staff><
</project>
<project>
...
</project>
...
</projects>
</response>