Update a template
Changed onUpdate a template's name, description, and target-specific fields inside model_attributes. The dispatcher routes to a target-aware form: deal updates retainer fields (when the retainer feature is enabled), budget updates color (propagated to the underlying budget). Renaming a template also renames the wrapped target.
Rename a template
{ "data": { "type": "templates", "attributes": { "name": "Onboarding playbook v2" } } }
Update a deal template's retainer cadence
{
"data": {
"type": "templates",
"attributes": {
"model_attributes": {
"retainer_interval": "month",
"retainer_interval_count": 6
}
}
}
}
Update a budget template's color
{
"data": {
"type": "templates",
"attributes": { "model_attributes": { "color_id": 7 } }
}
}
Request
- Base URLhttps://developer.productive.io (the document declares no server; this is the origin it was published from)
- URLhttps://developer.productive.io/api/v2/templates/{id}
- Authnone declared
Path parameters
Numeric template id.
Request body
Example request
{
"data": {
"type": "templates",
"attributes": {
"name": "New project template",
"description": "Used for kicking off enterprise migration projects.",
"target_type": "project",
"model_attributes": {
"client_id": 412,
"project_manager_id": 13,
"project_type_id": 2,
"workflow_id": 1
}
}
}
}Response
Successful response containing the requested template.
Example response
{
"data": {
"type": "templates",
"id": "18",
"attributes": {
"name": "Offboarding: General",
"description": "Popis stvari koje trebamo obaviti kada osoba odlazi iz firme",
"target_id": "258974",
"target_type": "project",
"color_id": null,
"created_at": "2023-01-24T14:08:06.857+01:00",
"updated_at": "2026-04-29T12:27:06.627+02:00",
"deleted_at": null
},
"relationships": {
"project": {
"data": {
"type": "projects",
"id": "258974"
}
},
"deal": {
"data": null
},
"page": {
"data": null
},
"task": {
"data": null
},
"creator": {
"data": {
"type": "people",
"id": "13"
}
}
}
},
"meta": {
"current_page": 1
},
"included": []
}Changes
- warning
added the new
bad_decimal_formatenum value to the//response property for the response status - warning
added the new
non_finite_numberenum value to the//response property for the response status - warning
added the new
null_bytes_in_paramsenum value to the//response property for the response status - info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- warning
- breaking
the
//response property's maxLength was unset from255for the response status - breaking
the
//response's property type changed fromintegerto no type for status - breaking
the
//response's property type changed fromstringto no type, and format fromdate-timeto no format for status - breaking
the
//response's property type changed fromstringto no type for status - breaking
the
//response's property type changed fromstringto no type for status - warning
deleted the
headerrequest parameterX-Organization-Id
This list may be incomplete.
- breaking