projects

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.

patch/projects/{project_id}

Request

  • Base URL: https://api.coperniq.io/v1
  • URL: https://api.coperniq.io/v1/projects/{project_id}
  • Auth: API key in header x-api-key

Path parameters

project_idinteger required

Project identifier

Query parameters

allow_new_optionsboolean

Whether to allow creation of new dropdown options during record creation

Request body

titlestring

Project title/name

descriptionstring nullable

Project description

addressstring[]

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

tradesTradeType[]

Array of trade types

workflowIdinteger

ID of associated workflow

phaseIdinteger nullable

ID of associated phase template

ownerIdinteger nullable

ID of the owning user

salesRepIdinteger nullable

ID of the assigned sales rep

projectManagerIdinteger nullable

ID of the assigned project manager

valuenumber double

Project value

sizenumber double

Project size

status'ACTIVE' | 'ON_HOLD' | 'CANCELLED' | 'COMPLETED'

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
primaryEmailstring email

Primary contact email

primaryPhonestring

Primary contact phone

contactsinteger[]

Contact IDs only (no name, email, phone, etc.). The contacts must be created first via POST /contacts. The first ID in the array is treated as the primary contact.

customobject

Custom fields

Response

Project updated successfully

idinteger

Unique identifier

createdAtstring date-time

Creation timestamp

updatedAtstring date-time

Timestamp of the most recent update to the record, including changes to its custom property values.

titlestring

Record title/name

descriptionstring nullable

Record description

addressstring[]

Record location/address

isActiveboolean

Whether the record is active

primaryEmailstring email nullable

Primary contact email

primaryPhonestring nullable

Primary contact phone

numberinteger

Record number (e.g., 1234)

customobject

Custom fields

tradesTradeType[]

Array of trade types

valuenumber double nullable

Project value

sizenumber double nullable

Project size

workflowIdinteger nullable

Associated workflow ID

accountIdinteger nullable

Associated account ID

status'ACTIVE' | 'ON_HOLD' | 'CANCELLED' | 'COMPLETED'

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
lineItemsUpdatedAtstring date-time nullable

Only present on GET /projects and /projects/search when include_line_item_updates=true is passed together with updated_after and/or updated_before. The most recent updatedAt among the project's own scope line items (estimate/scope items; line items on quotes/invoices are excluded). null if the project has no scope line items. Useful for telling whether a row matched the date window via its own updatedAt or via a line item edit.

workflowNamestring

Name of the associated workflow.

Changes

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