Expenses
- Show all expense categories
- Create new expense category
- Update an existing expense category
- Show expense category
- Delete existing expense category
- Toggle existing expense category
Show all expense categories
GET /expense_categories
HTTP Response: 200 Success
<expense-categories> <expense-category> <name>Mileage</name> <!-- unit values only populated for unit-based expenses --> <unit-name>Miles</unit-name> <unit-price type="decimal">0.485</unit-price> <!-- If true no expenses can be logged to this category --> <deactivated type="boolean">false</deactivated> <updated-at type="datetime">2008-04-09T12:07:56Z</updated-at> <created-at type="datetime">2008-04-09T12:07:56Z</created-at> </expense-category> <expense-category> ... </expense-category> ... </expense-categories>
You can filter by updated_since. To show only the expense categories that have been updated since "2010-09-25 18:30", pass the UTC date time value (URL encoded).
GET /expense_categories?updated_since=2010-09-25+18%3A30
HTTP Response: 200 Success
Create new expense category
POST /expense_categories
HTTP Response: 201 CreatedLocation: /expense_categories/#{new_expense_category_id}
Sample post:
<expense-category> <name>Mileage</name> <!-- unit values only necessary for unit-based expenses --> <unit-name>Miles</unit-name> <unit-price type="decimal">0.485</unit-price> </expense-category>
Update an existing expense category
PUT /expense_categories/#{expense_category_id}
HTTP Response: 200 OK Location: /expense_categories/#{expense_category_id}
Sample put:
<expense-category> <name>Mileage</name> <!-- unit values only necessary for unit-based expenses --> <unit-name>Miles</unit-name> <unit-price type="decimal">0.485</unit-price> </expense-category>
Show expense category
GET /expense_categories/#{expense_category_id}
HTTP Response: 200 Success
<expense-category> <name>Mileage</name> <!-- unit values only populated for unit-based expenses --> <unit-name>Miles</unit-name> <unit-price type="decimal">0.485</unit-price> <!-- If true no expenses can be logged to this category --> <deactivated type="boolean">false</deactivated> <updated-at type="datetime">2008-04-09T12:07:56Z</updated-at> <created-at type="datetime">2008-04-09T12:07:56Z</created-at> </expense-category>
Delete existing expense category
DELETE /expense_categories/#{expense_category_id}
HTTP Response: 200 OK is returned if expense category does not have
any reported expenses associated.
HTTP Response: 400 Bad Request is returned if expense category is not removable.
Toggle existing expense category's deactivated status
DELETE /expense_categories/#{expense_category_id}/toggle
HTTP Response: 200 OK
Location: /expense_categories/#{expense_category_id}