Projects

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.

project.create

Create a new project. If you specify project-rate or flat-rate for bill_method, you must supply a rate.

Billing Method Types
  • task-rate
  • flat-rate
  • project-rate
  • staff-rate

Request

<?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>

Response

<?xml version="1.0" encoding="utf-8"?>
<response xmlns="http://www.freshbooks.com/api/" status="ok">
  <project_id>15</project_id>
</response>

project.update

Update an existing project.

Request

<?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>

Response

<?xml version="1.0" encoding="utf-8"?>
<response status="ok"/>

project.get

Retrieve an existing project.

Note:
  • Staff IDs for staff members who are assigned to a project will only appear for admins and project managers.

Request

<?xml version="1.0" encoding="utf-8"?>
<request method="project.get">
  <project_id>6</project_id>
</request>

Response

<?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>

project.delete

Delete an existing project.

Request

<?xml version="1.0" encoding="utf-8"?>
<request method="project.delete">
  <project_id>15</project_id>
</request>

Response

<?xml version="1.0" encoding="utf-8"?>
<response status="ok"/>

project.list

Returns a list of projects in alphabetical order.

Filters
  • client_id – return only projects assigned to this client
  • task_id – return only projects with the given task
Note:
  • Staff IDs for staff members who are assigned to a project will only appear for admins and project managers.

Request

<?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>

Response

<?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>

Search