Update Project

Update an existing project. Supports partial updates. Updatable fields: - Standard fields (value, size, status, etc.) - Workflow fields (workflowId, phaseId) - Contact information (primaryEmail, primaryPhone) - Contacts (contact IDs only, no name, email, phone, etc.) - Custom fields (through custom object) Note: Updates are atomic - either all fields update or none do. > **Changing account association is not supported via update.** To move a project to a different account, delete and re-create it under the new account.

Authentication

x-api-keystring
API Key authentication via header

Path parameters

projectIdintegerRequired
Project identifier

Query parameters

allow_new_optionsbooleanOptionalDefaults to false
Whether to allow creation of new dropdown options during record creation

Request

This endpoint expects an object.
titlestringOptional

Project title/name

descriptionstring or nullOptional
Project description
addresslist of stringsOptional

An array containing a single string, which represents the full project location/address.

tradeslist of stringsOptional
Array of trade types
workflowIdstringOptional
ID of associated workflow
valuedoubleOptional
Project value
sizedoubleOptional
Project size
statusenumOptional

Status of the project:

  • ACTIVE - Project is active and in progress
  • ON_HOLD - Project is temporarily paused
  • CANCELLED - Project has been cancelled
  • COMPLETED - Project has been completed
Allowed values:
primaryEmailstringOptionalformat: "email"
Primary contact email
primaryPhonestringOptional
Primary contact phone
contactslist of integersOptional

Contact IDs only (no name, email, phone, etc.). The contacts must be created first via POST /contacts.

custommap from strings to anyOptional
Custom fields

Response

Project updated successfully
idinteger
Unique identifier
createdAtstringformat: "date-time"
Creation timestamp
updatedAtstringformat: "date-time"
Last update timestamp
titlestring

Record title/name

descriptionstring or null
Record description
addresslist of strings

Record location/address

isActiveboolean
Whether the record is active
primaryEmailstring or nullformat: "email"
Primary contact email
primaryPhonestring or null
Primary contact phone
numberinteger

Record number (e.g., 1234)

custommap from strings to any
Custom fields
tradeslist of strings
Array of trade types
valuedouble or null
Project value
sizedouble or null
Project size
workflowIdinteger or null
Associated workflow ID
accountIdinteger or null
Associated account ID
statusenum

Status of the project:

  • ACTIVE - Project is active and in progress
  • ON_HOLD - Project is temporarily paused
  • CANCELLED - Project has been cancelled
  • COMPLETED - Project has been completed
Allowed values:
stageobject

Current stage information (Workflows 1.0).

This object is present only for records still using the original Stage-based workflow engine. When the project is managed by Workflows 2.0 (Phase engine) the stage object and related fields (stageId, timeInStageDays, slaStatus) are omitted.

phaseobject

Current phase information (Workflows 2.0).

This object replaces stage when a project is attached to the Phase-based workflow engine. If the project is still on Workflows 1.0 this object will be omitted.

workflowNamestring
Name of the associated workflow.

Errors

400
Bad Request Error
401
Unauthorized Error
404
Not Found Error