Skip to main content
PATCH
/
projects
/
{id}
Update a project
curl --request PATCH \
  --url https://api.heffl.com/api/v2/projects/{id} \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "title": "<string>",
  "pipelineId": "<string>",
  "stageId": "<string>",
  "clientId": "<string>",
  "projectLeadId": "<string>",
  "salesPersonId": "<string>",
  "startDate": "2023-11-07T05:31:56Z",
  "endDate": "2023-11-07T05:31:56Z",
  "budgetedHours": 123,
  "description": "<string>",
  "isInclusiveTax": true,
  "assignees": [
    "<string>"
  ],
  "tags": [
    "<string>"
  ]
}
'
{
  "id": "<string>",
  "number": "<string>",
  "title": "<string>",
  "startDate": "2023-11-07T05:31:56Z",
  "endDate": "2023-11-07T05:31:56Z",
  "pipelineId": "<string>",
  "pipelineName": "<string>",
  "stageId": "<string>",
  "stageName": "<string>",
  "projectLeadId": "<string>",
  "projectLeadName": "<string>",
  "clientId": "<string>",
  "clientName": "<string>",
  "description": "<string>",
  "budgetedHours": 123,
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z"
}

Authorizations

x-api-key
string
header
required

API key for authentication. Get yours at app.heffl.com/settings/developers

Path Parameters

id
string
required

Project ID

Body

application/json
title
string

Project title

pipelineId
string

Project pipeline ID (ppl_ prefix)

stageId
string | null

Project pipeline stage ID (pps_ prefix). If omitted, the first OPEN stage in the pipeline is used.

clientId
string | null

Contact or company ID (clt_ prefix)

projectLeadId
string | null

Project lead user ID (usr_ prefix). Defaults to the API key user when omitted.

salesPersonId
string | null

Sales person user ID (usr_ prefix)

status
enum<string>

Project status

Available options:
ACTIVE,
COMPLETED,
CANCELLED
type
enum<string>

Project type

Available options:
flat_rate,
retainer
startDate
string<date-time>

Project start date

endDate
string<date-time>

Project end date

budgetedHours
number

Budgeted hours

description
string

Project description

isInclusiveTax
boolean

Whether project line item prices include tax

assignees
string[]

Assignee user IDs (usr_ prefix)

tags
string[]

Tag IDs (tag_ prefix)

{key}
any

Custom field values using cf_* keys. Only documented fields and cf_* keys are accepted.

Response

OK

id
string | null
required

Project ID (prj_ prefix)

number
string
required

Auto-generated project number

title
string
required

Project title

status
enum<string> | null

Project status

Available options:
ACTIVE,
COMPLETED,
CANCELLED
type
enum<string> | null

Project type

Available options:
flat_rate,
retainer
startDate
string<date-time> | null

Project start date

endDate
string<date-time> | null

Project end date

pipelineId
string | null

Project pipeline ID (ppl_ prefix)

pipelineName
string | null

Pipeline name

stageId
string | null

Project pipeline stage ID (pps_ prefix)

stageName
string | null

Stage name

projectLeadId
string | null

Project lead user ID (usr_ prefix)

projectLeadName
string | null

Project lead name

clientId
string | null

Client ID (clt_ prefix)

clientName
string | null

Client name

description
string | null

Project description

budgetedHours
number | null

Budgeted hours

createdAt
string<date-time> | null

When the project was created

updatedAt
string<date-time> | null

When the project was last updated

{key}
any

Custom field values as top-level cf_* keys (for example cf_priority). There is no customFields wrapper.