Projects
Overview
You can think of a project
as a contract you have with a client
. It usually ends with a deliverable of some sort or as a line item on an invoice and can have custom billing details that override category
. A valid project is required when creating an activity
.
Project Model
{
"id": "5b85933b1984af0c1bdf0174",
"created_at": "2018-08-28T18:23:55.734Z",
"name": "Excursion Tunnel – Order: 0001",
"description": "Manufacture and delivery of 3 units.",
"client": {
"id": "5b85951bb7d8cf5cf9cc3b18",
"name": "Black Mesa"
},
"code": "0001",
"location": "Upper Michigan Facility",
"is_billable": true,
"bill_rate": 100000000000000, // pennies
"bill_unit": "fixed"
}
Create Project
POST /api/v2/projects HTTP/1.1
{
"name": "Excursion Tunnel – Order: 0001", // Required
"description": "Manufacture and delivery of 3 units.",
"client_id": "5b85951bb7d8cf5cf9cc3b18",
"code": "0001",
"location": "Upper Michigan Facility",
"is_billable": true,
"bill_rate": 100000000000000,
"bill_unit": "fixed"
}
Update Project
PUT /api/v2/projects/{id} HTTP/1.1
List Projects
GET /api/v2/projects HTTP/1.1
Optional Query Parameters
{
"per_page": 25,
"page": 1,
"start_date": "2018-01-01",
"end_date": "2018-02-01",
"filter": "status:inactive",
"order_by": "name",
"search": "block mayonnaise",
"list": true
}
Search
Tali uses fuzzy matching to find the nearest results for your search term. It will match against the name
and description
of each project, weighted heavier against name
.
Tali will only return results that are above a 30% confidence value and the response will return a lighter payload of only id
, name
, description
, and confidence
.
List View
By setting this query parameter, the results are returned as only the id
and name
of each project, and are not paginated. This is useful if you want to retrieve a light payload of EVERY project.
Single Project
GET /api/v2/projects/{id} HTTP/1.1
Delete/ Recover Project
DELETE /api/v2/projects/{id} HTTP/1.1
POST /api/v2/projects/{id}/recover HTTP/1.1