Skip to content

Update template

Endpoint

PUT /organizations/{org_id}/checklists/{checklist_id}

Updates the properties of an existing template (blueprint) by its ID.

Request

Replace {org_id} with your Organization ID and {checklist_id} with the template ID.

Headers

  • Authorization: Bearer {your_access_token}
  • Accept: application/json
  • X-Tallyfy-Client: APIClient
  • Content-Type: application/json

Body (JSON)

Send a JSON object with the fields you want to change. The title field is required on every update request (max 250 characters). All other fields are optional.

Required field:

  • title (string, required) - Template title, max 250 characters

Common optional fields:

  • owner_id (string) - Must be a valid user in your organization
  • webhook (string) - Must be a valid URL
  • guidance (string) - Guidance text for the template
  • icon (string) - Icon identifier
  • folder_id (string) - Folder ID to organize this template
  • is_public (boolean) - Make the template publicly accessible
  • is_public_kickoff (boolean) - Enable public kick-off form
  • explanation_video (string) - Must be a valid URL
  • default_process_name_format (string, max 550) - Auto-naming format for launched processes
  • auto_naming (boolean) - Enable automatic process naming
  • users (array of strings) - Replaces the entire existing user list
  • groups (array of strings) - Replaces the entire existing group list

Example body:

{
"title": "Updated Template Name",
"guidance": "New guidance notes for this template."
}

Code samples

const accessToken = 'YOUR_PERSONAL_ACCESS_TOKEN';
const orgId = 'YOUR_ORGANIZATION_ID';
const checklistId = 'TEMPLATE_ID_TO_UPDATE';
const apiUrl = `https://go.tallyfy.com/api/organizations/${orgId}/checklists/${checklistId}`;
const updateData = {
title: "Updated via JS Fetch",
guidance: "New guidance added via API.",
// Note: Updating 'users' or 'groups' replaces the entire list.
// users: ["user_id_1", "user_id_2"]
};
const headers = new Headers();
headers.append('Authorization', `Bearer ${accessToken}`);
headers.append('Accept', 'application/json');
headers.append('X-Tallyfy-Client', 'APIClient');
headers.append('Content-Type', 'application/json');
fetch(apiUrl, {
method: 'PUT',
headers: headers,
body: JSON.stringify(updateData)
})
.then(response => {
return response.json().then(data => {
if (!response.ok) {
console.error(`Failed to update template ${checklistId}:`, data);
throw new Error(`HTTP error! status: ${response.status}`);
}
return data;
});
})
.then(data => {
console.log(`Successfully updated template ${checklistId}:`);
console.log(JSON.stringify(data, null, 2));
})
.catch(error => {
console.error(`Error updating template ${checklistId}:`, error.message);
});

Response

A successful request returns a 200 OK status code and a JSON object with the full template details after the update.

{
"data": {
"id": "TEMPLATE_ID_TO_UPDATE",
"title": "Updated via JS Fetch",
"guidance": "New guidance added via API.",
"owner_id": "user_id_here",
"webhook": null,
"is_public": false,
"type": "procedure",
"users": [],
"groups": [],
"last_updated": "2026-01-15T12:30:00.000Z"
}
}

If the template isn’t found, you’ll get a 404. Permission issues return 403. Validation errors - like a missing title - return 422.


Templates > Create a template

Tallyfy’s API lets you create a new process template by sending a POST request to the checklists endpoint with a required title and type (procedure/form/document) along with optional settings like owner assignment and kick-off form fields and webhook URLs and access controls — returning the full template object with a 201 status code.

Tasks > Update task

Tallyfy’s API lets you update any task (process or one-off) via a PUT request where you can change the title, deadline, assignees, form field values, and other properties — with assignee updates replacing the entire list rather than merging and with different field types like dropdowns and checkboxes requiring specific JSON formatting structures.

Tags > Update tag

Tallyfy’s API lets you modify an existing tag’s title (up to 30 characters and unique within your organization) or hex color code by sending a PUT request to /organizations/[org_id]/tags/[tag_id] with code examples provided in JavaScript and Python and Java and Go and C++ and C#.

Code Samples > Managing templates (blueprints)

Tallyfy’s API lets you manage process templates through standard CRUD operations but uses the term “Checklists” in endpoint paths and “Blueprints” in some method names instead of “Templates” as shown in the UI.