Your browser is no longer supported! Please upgrade your web browser now. Learn More

Expenses

  1. Show all expense categories
  2. Create new expense category
  3. Update an existing expense category
  4. Show expense category
  5. Delete existing expense category
  6. 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 Created
Location: /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}