Update project
Update a project, synced to Linear. Linear sync failures are logged but do not block the local update. Requires the projects:write scope.
curl -X PATCH "https://productlane.com/api/v2/projects/{id}" \
-H "Authorization: Bearer $PRODUCTLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"description": "string",
"icon": "string",
"color": "string",
"state": "backlog",
"linear_status_id": "string",
"is_visible": true,
"portal_instance_ids": [
"string"
]
}'Authorization
AuthorizationstringheaderrequiredBearer authentication header of the form
Bearer <token>, where<token>is your auth token.
Parameters
idstringpathrequired
Body
namestringdescriptionstring | nulliconstring | nullLinear project icon identifier (Linear's internal icon set, no public list). Echo back a value from a previous response or the dashboard.
colorstring | nullHex color in
#RRGGBBor#RGBform.stateenum<string>Lifecycle category. Distinct from
linear_status_id, which selects a specific status within the category.One of:backlogplannedstartedcompletedcanceledlinear_status_idstringLinear project status id. When set,
stateis ignored and Linear resolves the lifecycle category from the status.is_visiblebooleanWhether the project is shown on the customer portal.
portal_instance_idsstring[]Every portal the item is on, from GET /portal/instances. Use "__main__" for the Main portal. Replaces the current list. The item shows on these portals only while
is_visibleis true.
Response
Successful response
idstringrequirednamestringrequireddescriptionstring | nullrequiredcolorstring | nullrequirediconstring | nullrequiredName of a Nucleo icon (PascalCase, e.g.
Notepad,Atom). Must be a valid icon from https://nucleoapp.com - unknown names will not render in the dashboard or portal.statestring | nullrequiredprogressnumber | nullrequiredsort_ordernumberrequiredtotal_scorenumberrequiredis_visibleboolean | nullrequiredportal_instance_idsstring[]requiredcreated_atstringrequiredupdated_atstringrequiredlinear_project_idstring | nullrequiredlinear_team_idsstring[]requiredlinear_team_namesstring[]required
{
"id": "string",
"name": "string",
"description": "string",
"color": "string",
"icon": "string",
"state": "string",
"progress": 0,
"sort_order": 0,
"total_score": 0,
"is_visible": true,
"portal_instance_ids": [
"string"
],
"created_at": "string",
"updated_at": "string",
"linear_project_id": "string",
"linear_team_ids": [
"string"
],
"linear_team_names": [
"string"
]
}