Create Project

Create a new project with required and optional fields. Required fields: - `title`: Project title/name - `address`: An array containing a single string, which represents the full project location/address. Optional fields: - `trades`: Array of trade types - `clientId`: Link to existing client - `workflowId`: Link to workflow - `phaseId`: Link to phase - `primaryEmail`/`primaryPhone`: Contact information - `custom`: Custom fields object Note: If primaryEmail or primaryPhone is provided, a contact will be automatically created or matched.

Authentication

x-api-keystring
API Key authentication via header

Query parameters

allow_new_optionsbooleanOptionalDefaults to false
Whether to allow creation of new dropdown options during record creation
match_byenumOptionalDefaults to title
Field to use for matching existing records
Allowed values:
match_found_strategyenumOptionalDefaults to skip
Strategy to use when a match is found
Allowed values:

Request

This endpoint expects an object.
titlestringRequired

Project title/name

addresslist of stringsRequired

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

descriptionstring or nullOptional
Project description
tradeslist of stringsOptional
Array of trade types, defaults to 'Solar'
clientIdstringOptional
ID of associated client
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
custommap from strings to anyOptional
Custom fields

Response

Matching project found
addressstring or null

Record location/address

clientIdinteger or null
Associated client ID
companyIdinteger or null
Company identifier
createdAtstring or nullformat: "date-time"
Creation timestamp
custommap from strings to any or null
Custom fields
descriptionstring or null
Record description
idinteger or null
Unique identifier
isActiveboolean or null
Whether the record is active
numberinteger or null

Record number (e.g., 1234)

phaseobject or null

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.

primaryEmailstring or nullformat: "email"
Primary contact email
primaryPhonestring or null
Primary contact phone
sizedouble or null
Project size
stageobject or null

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.

statusenum or null
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:
titlestring or null

Record title/name

tradeslist of strings or null
Array of trade types
updatedAtstring or nullformat: "date-time"
Last update timestamp
valuedouble or null
Project value
workflowIdinteger or null
Associated workflow ID
workflowNamestring or null
Name of the associated workflow.

Errors