# List budget items

Lists the accessible project/phase budget items of the specified type.

Endpoint: GET /projects/{project_id}/budget_items
Version: v1
Security: AuthToken

## Header parameters:

  - `Content-Type` (string, required)
    Enum: "application/json"

  - `Accept` (string, required)
    Enum: "application/json"

## Path parameters:

  - `project_id` (integer, required)
    Unique identifier for the resource instance.
    Example: 1234567

## Query parameters:

  - `item_type` (string, required)
    The kind of item being budgeted.

- "TimeFees" is for currency-based budgeting ($).
- "TimeFeesDays" is for time-based budgeting (hours). 
- "Expenses" is for non-time-related, currency-based budgeting ($).
    Enum: "TimeFees", "TimeFeesDays", "Expenses"

## Response 200 fields (application/json):

  - `paging` (object, required)

  - `paging.per_page` (integer)
    The maximum number of items to show per response page.
    Example: 100

  - `paging.page` (integer)
    The current response page number.
    Example: 1

  - `paging.previous` (string,null)
    If you're on the first page, this value is null; otherwise the value is the path and query parameters to get the previous page of items.
    Example: "/api/v1/users?per_page=1000&page=1"

  - `paging.self` (string)
    The path and query parameters to get the current page of items.
    Example: "/api/v1/users?per_page=1000&page=2"

  - `paging.next` (string,null)
    If there are more items, this value is the path and query parameters to get the next page of items; otherwise, it's null.
    Example: "/api/v1/users?per_page=1000&page=3"

  - `paging.count` (integer,null)
    The total number of items in all the pages.

  - `data` (array, required)

  - `data.id` (integer)
    Unique identifier for the resource instance.
    Example: 6789

  - `data.amount` (number,null)
    Budget item amount
    Example: 30.5

  - `data.assignable_id` (integer)
    Unique identifier of the project or phase to which the budget is assigned.
    Example: 821065

  - `data.assignable_parent_id` (integer)
    If the budget is assigned to a phase, it's the unique identifier of the phase's parent project.

  - `data.category` (string)
    Genre for the budget item.

Expense Categories are classifications of non-labor or time-related project costs. These are predefined categories, with optional organizational guidelines for per-item cost, that you can use when defining a project budget. When entering an expense, you and your team members choose which category best represents the expense. Examples of expense categories might be travel, printing, or materials.

  - `data.item_type` (string)
    The kind of item being budgeted.

- "TimeFees" is for currency-based budgeting ($).
- "TimeFeesDays" is for time-based budgeting (hours). 
- "Expenses" is for non-time-related, currency-based budgeting ($).
    Enum: "TimeFees", "TimeFeesDays", "Expenses"

  - `data.peritem_amount` (number)
    Currency-based cost for a predefined expense item.

  - `data.peritem_label` (string)
    Name of an expense item that has a predefined cost.

  - `data.created_at` (string)
    The item's creation timestamp.
    Example: "2025-01-22T06:00:30Z"

  - `data.updated_at` (string)
    Timestamp of the most recent modification.
    Example: "2025-01-22T06:13:40Z"


