Update a project entity. Include only the fields you want to change.
Time estimation — You can switch estimation mode by updating estimated_by_position / estimation_by_categories together with users_positions / categories. Positions present in the project but absent from the users_positions array will have their estimated hours reset to 0 (or be soft-deleted if no hours have been logged against them).
These fields are unrelated to Project Estimates (
/projects/{project_id}/project_estimate), which manage budget line items.
Documentation Index
Fetch the complete documentation index at: https://developers.projectcor.com/llms.txt
Use this file to discover all available pages before exploring further.
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Fields to update on a project. Include only the properties you want to change.
Project Name
Client ID
Project description or brief
Project start date (YYYY-MM-DD)
Project end date (YYYY-MM-DD)
Project Manager User ID
Estimated hours for the project
Whether the project is billable
Project status
Currency ID
Project evaluation date (YYYY-MM-DD)
Estimated monetary value for the project
Fee ID
Contract ID
Project deliverables description
Work order number or code
Income type for the project
fee, one_time, hourly_rate, contract Whether the project is archived
Label IDs to assign to the project. Omit this field entirely to leave existing labels unchanged. Send an empty array ([]) to remove all labels from the project. Each entry may be an integer ID or an object with an id property (for example [101, 102]). Maximum 50 labels. Use Get Categories and Labels with model=project (GET /categories/labels-model?model=project) to list project label objects for your company; use each label's id in this array.
50When true, time estimation is split per position via the users_positions array. Mutually exclusive with estimation_by_categories.
When truthy (true or 1), time estimation is split per category via the categories array. Mutually exclusive with estimated_by_position.
When true, the project income is calculated from hourly rates using the assigned ratecard.
Ratecard ID. Alias for user_positions_header_id — if both are sent, ratecard_id takes precedence.
Positions involved in the project with optional per-position hour estimates. Positions present in the project but absent from this array will have their estimated hours set to 0 (or be soft-deleted if no hours have been logged).
Categories assigned to the project with optional per-category hour estimates.
Exchange rate when project currency differs from the company base currency.
Original estimated amount in the selected currency before exchange conversion.
Project updated successfully
Unique project identifier
Project name
Project brief/description
Associated client ID
Project health indicator: 1 (on track), 2 (at risk), 3 (delayed), 4 (critical)
1, 2, 3, 4 Project status
active, finished, suspended Project start date
Project end date
Estimated hours for the project
Hours already logged
Current profitability percentage
Estimated profitability percentage
Whether the project is archived
Whether the project is billable
Project billing type
fee, one_time, hourly_rate, contract Project Manager user ID
User ID who created the project
Company ID
Project template ID used
Associated brand ID
Associated product ID
Total estimated budget
Creation timestamp
Last update timestamp
IDs of labels assigned to this project. Resolve names and styling via Get Categories and Labels with model=project (GET /categories/labels-model?model=project), which returns label objects including the same id values.
Associated client object
Project Manager details
Whether time estimation is split per position
Whether time estimation is split per category
Whether income is calculated from hourly rates using a ratecard
ID of the ratecard assigned to this project
Associated fee ID
Associated contract ID
Positions assigned to the project with their estimated and logged hours. Only present when fetching a single project (GET /projects/{project_id}).
Categories assigned to the project with their estimated and logged hours. Only present when fetching a single project.
Ratecard assigned to this project. Only present when fetching a single project.