Projects

Update a project

patch/projects/{id}

Request

  • Base URL: https://www.ruddr.io/api/workspace
  • URL: https://www.ruddr.io/api/workspace/projects/{id}
  • Auth: HTTP bearer

Path parameters

idstring required

The project uuid

Request body

keystring

The URL-friendly slug for the project. Max 255 characters.

namestring

The name of the project. Max 255 characters.

clientIdstring

The client ID (uuid) associated with this project.

billingTypeId'tm' | 'fixed' | 'fixed_recurring' | 'non_billable'

The billing type for the project.

notesstring nullable

Notes associated with the project. Max 5000 characters.

accountingNotesstring nullable

Accounting notes associated with the project. Max 5000 characters.

statusId'tentative' | 'not_started' | 'in_progress' | 'paused' | 'completed' | 'cancelled'

The project status.

startstring date nullable

The start date of the project. Must be in the form YYYY-MM-DD. Must come on or before end date if set.

endstring date nullable

The end date of the project. Must be in the form YYYY-MM-DD. Must come on or after the start date if set.

codestring nullable

The project code. Max 255 characters.

poNumberstring nullable

The purchase order number. Max 255 characters.

isProductiveboolean

Whether time logged on this project counts as productive time. Only applicable for internal client projects.

currencystring

The 3-letter currency code associated with the project.

revenueRecognitionMethod'invoiced' | 'manual' | 'automated_hours' | 'automated_tm_basis'

The revenue recognition method. Only used when billingTypeId is "fixed" or "fixed_recurring".

revenueAttributionMethod'hours' | 'services_cost' | 'tm_basis'

The revenue attribution method. Only used when billingTypeId is "fixed" or "fixed_recurring".

useRolesboolean

Whether the project uses roles.

useRateCardsboolean

Whether the project can have more than one dated rate card. Turning it off requires the project to have a single rate card. Ignored when the Project Rate Cards feature is not enabled.

useDependenciesboolean

When enabled, tasks on this project can have predecessor and successor dependencies.

autoCompleteMilestonesboolean

When enabled, a milestone is automatically completed once all of its predecessors are complete. Has no effect when task dependencies are disabled.

requiresNotesboolean

Requires notes on time entries for this project.

requiresTasksboolean

Requires a task selection on time entries for this project.

recordStatusId'active' | 'archived'

The record status of the project.

lockTimeAndExpensesboolean

When enabled, locks time and expenses on the project, preventing further edits.

trackTimeToAssignedRolesboolean

Whether time should be tracked per assigned role. Only applies when useRoles is true.

restrictTimeToAllocatedDaysboolean

When enabled, members can only log time on days they are allocated to the project.

capMaxMemberHoursPerDayboolean

When enabled, caps the number of hours a member can log per day on the project.

maxMemberHoursPerDayinteger

The maximum number of hours a member can log per day on the project. Only used if capMaxMemberHoursPerDay is true.

capMaxMemberHoursPerWeekboolean

When enabled, caps the number of hours a member can log per week on the project.

maxMemberHoursPerWeekinteger

The maximum number of hours a member can log per week on the project. Only used if capMaxMemberHoursPerWeek is true.

capMaxMemberHoursPerMonthboolean

When enabled, caps the number of hours a member can log per month on the project.

maxMemberHoursPerMonthinteger

The maximum number of hours a member can log per month on the project. Only used if capMaxMemberHoursPerMonth is true.

cloudFolderUrlstring nullable

The URL to the associated cloud storage folder.

practiceIdstring nullable

The practice ID (uuid) associated with this project.

projectTypeIdstring nullable

The project type ID (uuid) associated with this project.

tagIdsstring[]

A list of project tag IDs (uuid) to associate with this project.

salesRepresentativeIdstring nullable

The member ID (uuid) of the sales representative for this project.

businessUnitIdstring nullable

The business unit ID (uuid) associated with this project.

useBudgetboolean

Whether the project has a budget.

budgetMode'summary' | 'detailed' | 'aggregated'

The budget mode. Only used if useBudget is true.

budgetRateCardIdstring

The ID (uuid) of the rate card whose rates price the project's budget. Must be one of this project's rate cards.

budgetServiceRevenuenumber float nullable

The budgeted services revenue. Only used if useBudget is true.

budgetBillableHoursnumber float nullable

The budgeted billable hours. Only used if useBudget is true and budgetMode is "summary".

budgetNonBillableHoursnumber float nullable

The budgeted non-billable hours. Only used if useBudget is true and budgetMode is "summary".

budgetExpensesBillableAmountnumber float nullable

The budgeted billable expenses. Only used if useBudget is true and budgetMode is "summary".

budgetExpensesNonBillableAmountnumber float nullable

The budgeted non-billable expenses. Only used if useBudget is true and budgetMode is "summary".

budgetOtherItemsAmountnumber float nullable

The budgeted other items amount. Only used if useBudget is true and budgetMode is "summary".

budgetProductItemsAmountnumber float nullable

The budgeted product items amount. Only used if useBudget is true and budgetMode is "summary".

budgetServiceItemsAmountnumber float nullable

The budgeted service items amount. Only used if useBudget is true and budgetMode is "summary".

useMonthlyBudgetboolean

Whether the project has a monthly budget.

monthlyBudgetMode'summary' | 'detailed'

The monthly budget mode. Only used if useMonthlyBudget is true.

monthlyBudgetServiceRevenuenumber float nullable

The budgeted monthly services revenue. Only used if useMonthlyBudget is true.

monthlyBudgetBillableHoursnumber float nullable

The budgeted monthly billable hours. Only used if useMonthlyBudget is true and monthlyBudgetMode is "summary".

monthlyBudgetNonBillableHoursnumber float nullable

The budgeted monthly non-billable hours. Only used if useMonthlyBudget is true and monthlyBudgetMode is "summary".

monthlyBudgetExpensesBillableAmountnumber float nullable

The budgeted monthly billable expenses. Only used if useMonthlyBudget is true and monthlyBudgetMode is "summary".

monthlyBudgetExpensesNonBillableAmountnumber float nullable

The budgeted monthly non-billable expenses. Only used if useMonthlyBudget is true and monthlyBudgetMode is "summary".

monthlyBudgetOtherItemsAmountnumber float nullable

The budgeted monthly other items amount. Only used if useMonthlyBudget is true and monthlyBudgetMode is "summary".

monthlyBudgetProductItemsAmountnumber float nullable

The budgeted monthly product items amount. Only used if useMonthlyBudget is true and monthlyBudgetMode is "summary".

monthlyBudgetServiceItemsAmountnumber float nullable

The budgeted monthly service items amount. Only used if useMonthlyBudget is true and monthlyBudgetMode is "summary".

Response

200

idstring

The unique identifier for the object.

keystring

The URL-friendly slug for the project.

namestring

The name of the project.

notesstring nullable

Notes associated with the project.

accountingNotesstring nullable

Accounting notes associated with the project.

statusId'tentative' | 'not_started' | 'in_progress' | 'paused' | 'completed' | 'cancelled'

The project status.

startstring date nullable

The start date for the project. Will be in the form YYYY-MM-DD.

endstring date nullable

The end date for the project. Will be in the form YYYY-MM-DD. null if no end date is set.

codestring nullable

The project code.

poNumberstring nullable

The purchase order number.

billingTypeId'tm' | 'fixed' | 'fixed_recurring' | 'non_billable'

The billing type for the project.

isBillableboolean

Whether this project is billable. Derived from billingTypeId — false only when billingTypeId is "non_billable".

currencystring

The 3-letter currency code associated with the project.

revenueRecognitionMethod'invoiced' | 'manual' | 'automated_hours' | 'automated_tm_basis' nullable

The revenue recognition method. Only applicable when billingTypeId is "fixed" or "fixed_recurring". null for other billing types.

revenueAttributionMethod'hours' | 'services_cost' | 'tm_basis' nullable

The revenue attribution method. Only applicable when billingTypeId is "fixed" or "fixed_recurring". null for other billing types.

fixedFeenumber nullable

Deprecated. Always null.

fixedRecurringFeenumber nullable

Deprecated. Always null.

fixedRecurringStartstring nullable

Deprecated. Always null.

fixedRecurringEndstring nullable

Deprecated. Always null.

useRolesboolean

Whether the project uses roles.

useRateCardsboolean

Whether the project can have more than one dated rate card. See the project rate cards endpoints.

useDependenciesboolean

Whether the project uses task dependencies. When disabled, tasks cannot have predecessors or successors.

autoCompleteMilestonesboolean

Whether a milestone is automatically completed once all of its predecessors are complete. Has no effect when task dependencies are disabled.

useBudgetboolean

Whether the project has a budget.

budgetMode'summary' | 'detailed' | 'aggregated' nullable

The budget mode. null when useBudget is false.

budgetRateCardIdstring

The ID (uuid) of the rate card whose rates price the project's budget. See the project rate cards endpoints.

useMonthlyBudgetboolean

Whether the project has a monthly budget.

monthlyBudgetMode'summary' | 'detailed' nullable

The monthly budget mode. null when useMonthlyBudget is false.

capMaxMemberHoursPerDayboolean

When enabled, caps the number of hours a member can log per day on the project.

maxMemberHoursPerDayinteger nullable

The maximum number of hours a member can log per day on the project. Only used if capMaxMemberHoursPerDay is true. null when capMaxMemberHoursPerDay is false.

capMaxMemberHoursPerWeekboolean

When enabled, caps the number of hours a member can log per week on the project.

maxMemberHoursPerWeekinteger nullable

The maximum number of hours a member can log per week on the project. Only used if capMaxMemberHoursPerWeek is true. null when capMaxMemberHoursPerWeek is false.

capMaxMemberHoursPerMonthboolean

When enabled, caps the number of hours a member can log per month on the project.

maxMemberHoursPerMonthinteger nullable

The maximum number of hours a member can log per month on the project. Only used if capMaxMemberHoursPerMonth is true. null when capMaxMemberHoursPerMonth is false.

requiresNotesboolean

Requires notes on time entries for this project.

requiresTasksboolean

Requires a task selection on time entries for this project.

recordStatusId'active' | 'archived'

The record status of the project.

isProductiveboolean nullable

Whether time logged on this project counts as productive time. Only applicable for internal client projects; null for external client projects.

lockTimeAndExpensesboolean

When enabled, locks time and expenses on the project, preventing further edits.

trackTimeToAssignedRolesboolean nullable

Whether time should be tracked per assigned role. Only applies when useRoles is true. null when useRoles is false.

restrictTimeToAllocatedDaysboolean

When enabled, members can only log time on days they are allocated to the project.

cloudFolderUrlstring nullable

The URL to the associated cloud storage folder.

createdAtstring date-time

The timestamp when the object was created.

modifiedAtstring date-time

The timestamp when the object was last modified.

completedOnstring date nullable

The date the project was completed. Only populated when statusId is "completed".

Changes

No recorded changes to this operation across all 1 revision of this API.