Cashboard API

« Back to Overview

Projects

Permission Notes
  • -Employees can only access projects that they're assigned to
  • +Accessible by Cashboard Administrators only

List
GET /projects

Parameters

  • client_id / client_type
    client_id is an id of either a Client Company or Client Contact.
    client_type must be set to either 'Company' (Client Company) or 'Person' (Client Contact) if client_id is set.
  • is_archived
    true returns only ARCHIVED projects
    false returns only OPEN projects
  • updated_since
    Returns all projects last modified after the given date/time.
    Expects a CGI encoded datetime in the form of YYYY-MM-DD HH:MM:SS

Permissions

  • Cashboard Administrators can see all projects in the account
  • Employees will only see projects they've been assigned to

New+
GET /projects/new

Returns a data template that you can fill in to use the CREATE action.

If you're on an older account plan that restricts the number of active projects you may encounter a HTTP 403 (FORBIDDEN) status code.

Create+
POST /projects

Creates a new project. Use the template provided by the NEW action.

If you're on an older account plan that restricts the number of active projects you may encounter a HTTP 403 (FORBIDDEN) status code.

Actions

Show-
GET [project link 'self']

Returns a single project.

Update+
PUT [project link 'self']

Updates a project.

Delete+
DELETE [project link 'self']

Deletes a project and all associated tasks, time entries, and expenses associated with it.

Toggle Status+
PUT [project link 'toggle_status']

Archives an open project, or opens an archived project.


Project Lists

Lists are containers that allow you to organize Line Items within a Project

List-
GET [project link 'lists']

Returns all lists for this project, and the line items that they contain.

New-
GET [project link 'lists']/new

Returns a data template that you can fill in to use the CREATE action.

Create-
POST [project link 'lists']

Creates a new list. Use the template provided by the NEW action.


Line Items

List-
GET [project link 'line_items']

Returns all line items for this project.


Project Assignments

List Employee Project Assignments+
GET [project link 'assigned_employees']

Returns all assignments associated with this project.
This could include employees who were assigned in the past, but have been removed from the project. (has_access=false)

Update Employee Project Assignments+
PUT [project link 'assigned_employees_all']

Expects a data representation of all project assignments, as returned by the 'assigned_employees' link above. Any project assignments not included in the request will be deleted.
After a successful request, will return all assignments associated with this project.

Data Reference

<?xml version="1.0" encoding="UTF-8"?>
<project>
  <billing_code>1</billing_code>
  <client_name read_only="true"></client_name>
  <client_id></client_id>
  <client_type></client_type>
  <client_view_time_code>0</client_view_time_code>
  <completion_date></completion_date>
  <created_on></created_on>
  <is_archived>false</is_archived>
  <name></name>
  <notes></notes>
  <po_number></po_number>
  <rate>0.00</rate>
  <start_date></start_date>
  <updated_at read_only="true"></updated_at>
  <time_entry_minutes read_only="true">0</time_entry_minutes>
  <time_entry_minutes_billable read_only="true">0</time_entry_minutes_billable>
  <time_entry_minutes_unbillable read_only="true">0</time_entry_minutes_unbillable>
  <time_entry_minutes_uninvoiced read_only="true">0</time_entry_minutes_uninvoiced>
  <time_best_in_minutes read_only="true">0</time_best_in_minutes>
  <time_worst_in_minutes read_only="true">0</time_worst_in_minutes>
  <price_best rel="financial" read_only="true">0</price_best>
  <price_worst rel="financial" read_only="true">0</price_worst>
  <price_actual rel="financial" read_only="true">0</price_actual>
  <uninvoiced_item_cost rel="financial" read_only="true">0</uninvoiced_item_cost>
  <uninvoiced_expense_cost rel="financial" read_only="true">0.0</uninvoiced_expense_cost>
</project>

BILLING_CODE values

Billing code determines how a project is billed.

  • 0 - Non-billable
  • 1 - Bill by Task Rate
  • 2 - Bill by Employee Rate

CLIENT_VIEW_TIME_CODE values

Determines when time entries are shown on the client UI.

  • 0 - Show entries when invoiced
  • 1 - Show entries as they're marked billable
  • 2 - Never show time entries