---
title: "Assigns a timesheet/billing category to a project, specifying billable status, rate, and budget hours."
method: POST
path: "/api/ProjectTimesheetCategory"
tags: ["ProjectTimesheetCategory"]
---

# Assigns a timesheet/billing category to a project, specifying billable status, rate, and budget hours.

`POST /api/ProjectTimesheetCategory`

## Request body

- AssignProjectTimesheetCategory — Request model for assigning or updating a timesheet category on a project.
  - `ProjectIDFK` integer — The project ID to assign the category to.
  - `TimesheetCategoryIDFK` integer — The timesheet category ID to assign to the project.
  - `isBillable` boolean — Whether time logged under this category is billable.
  - `isPayable` boolean — Whether time logged under this category is payable.
  - `RateAmount` number, double — The billing rate per hour for this category on this project.
  - `BudgetHours` number, double — Hours budget for this category on this project.
  - `CostAmount` number, double — The cost rate per hour for this category on this project.
  - `ScheduleRateUpdateOption` string — Controls whether updated rates are applied to existing schedule bookings for this category. Possible values: "new" (default, only new bookings), "all" (all existing bookings), "active" (bookings with end date in the future).
  - `TimesheetRateUpdateOption` string — Controls whether updated rates are applied to existing timesheet entries for this category. Possible values: "new" (default, do not update existing timesheets), "uninvoiced" (update all existing uninvoiced timesheets).

## Response `200`

Returns the new timesheet category assignment.

- ProjectTimesheetCategoryDetails — A timesheet/billing category assigned to a project, with billable status, rate, and budget hours.
  - `TimeSheetCategoryIDFK` integer — The timesheet category ID.
  - `AccountIDFK` integer — The Avaza account this category belongs to.
  - `ProjectIDFK` integer — The project this category is assigned to.
  - `Name` string — Name of the timesheet category.
  - `isBillable` boolean — Whether time logged under this category is billable.
  - `isPayable` boolean — Whether time logged under this category is payable.
  - `isDisabled` boolean — Whether this category assignment is disabled.
  - `RateAmount` number, double — The billing rate per hour for this category on this project.
  - `BudgetHours` number, double — Hours budget for this category on this project.
  - `CostAmount` number, double — The cost rate per hour for this category on this project.

---

[API](https://skmtc.net/avaza/apis/avaza-api-documentation.md) · [All operations](https://skmtc.net/avaza/apis/avaza-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/avaza/avaza-api-documentation/versions/1eeadf750514/schema)
