API Documentation
Overview
Time Tracking
Extended REST API
Clients
Client Contacts
Projects
Tasks
People
Expenses
Expense Tracking
User Assignment
Task Assignment
Reports
Invoices
Invoice Messages
Invoice Payments
Invoice Categories
Questions? Contact support
Overview
Time Tracking
Extended REST API
Clients
Client Contacts
Projects
Tasks
People
Expenses
Expense Tracking
User Assignment
Task Assignment
Reports
Invoices
Invoice Messages
Invoice Payments
Invoice Categories
Questions? Contact support
Invoice Item Categories
Important: this assumes invoice feature is enabled for your account.
Here you can change the categories appearing before each line item on your invoice. By default Harvest provides two non-removable categories, for the hours and for the expenses you bill. You can create many more categories and change the name of the default ones.
Show all invoice item categories
GET /invoice_item_categories
HTTP Response: 200 Success
<invoice-item-categories type="array"> <invoice-item-category> <created-at type="datetime">2008-03-05T22:50:44Z</created-at> <id type="integer">39353</id> <name>Hosting</name> <updated-at type="datetime">2008-03-05T22:50:44Z</updated-at> <use-as-expense type="boolean">false</use-as-expense> <use-as-service type="boolean">false</use-as-service> </invoice-item-category> <invoice-item-category> <created-at type="datetime">2008-01-30T12:02:41Z</created-at> <id type="integer">1</id> <name>Service</name> <updated-at type="datetime">2008-01-30T12:02:41Z</updated-at> <use-as-expense type="boolean">false</use-as-expense> <use-as-service type="boolean">true</use-as-service> </invoice-item-category> <!-- .... --> </invoice-item-categories>
Create new invoice item category
POST /invoice_item_categories
HTTP Response: 201 CreatedLocation: /invoice_categories/#{new_category_id}
Sample post:
<invoice-item-category> <name>Entertainment</name> </invoice-item-category>
Update an existing category
PUT /invoice_item_categories/#{category_id}
HTTP Response: 200 OK Location: /invoice_item_categories/#{category_id}
Sample put:
<invoice-item-category> <name>Entertainment</name> </invoice-item-category>
Delete existing category
DELETE /invoice_item_categories/#{expense_category_id}
HTTP Response: 200 OK.
HTTP Response: 400 Bad Request is returned if category is not removable (default categories can only be edited).