Node.js
import { PeriskopeApi } from '@periskope/periskope-client';
const client = new PeriskopeApi({
authToken: 'YOUR_API_KEY',
});
async function updateTask() {
const response = await client.task.update({
task_id: 'task-00000000000000a1',
title: 'Updated task title',
status: 'closed', // closing the task stamps completed_metadata
priority: 2,
assignee: 'member2@example.com',
due_date: '2026-06-20T18:00:00.000Z',
remind_at: '2026-06-20T17:30:00.000Z',
notes: 'Updated notes for the task.',
last_updated_by: 'member2@example.com'
});
console.log(response);
}
updateTask();curl -X PATCH https://api.periskope.app/v1/tasks/task-00000000000000a1 \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{"status":"closed","last_updated_by":"member1@example.com"}'{
"task_id": "task-elnizmojzrjsogdm",
"title": "Resolve customer escalation",
"type": "message",
"status": "closed",
"priority": 3,
"assignee": "ankit.singh@hashlabs.dev",
"created_by": "anjali.pandey@hashlabs.dev",
"last_updated_by": "ankit.singh@hashlabs.dev",
"created_at": "2026-06-03T06:00:56.592+00:00",
"last_updated_at": "2026-06-04T18:09:36.420636+00:00",
"due_date": "2026-06-15T18:00:00+00:00",
"remind_at": "2026-06-18T18:00:00+00:00",
"notes": "Customer escalated via email — coordinate with support",
"chat_id": "919205202401@c.us",
"association": {
"type": "message",
"message_id": "true_4ca42ab6-77a9-428d-b614-5eb37bcf8f95_anjali.pandey@hashlabs.dev",
"chat_id": "919205202401@c.us"
},
"completed_metadata": {
"completed_at": "2026-06-04T18:09:36.407Z",
"completed_by": "ankit.singh@hashlabs.dev"
}
}Task APIs
Update Task
This endpoint updates info about a specific task
Node.js
import { PeriskopeApi } from '@periskope/periskope-client';
const client = new PeriskopeApi({
authToken: 'YOUR_API_KEY',
});
async function updateTask() {
const response = await client.task.update({
task_id: 'task-00000000000000a1',
title: 'Updated task title',
status: 'closed', // closing the task stamps completed_metadata
priority: 2,
assignee: 'member2@example.com',
due_date: '2026-06-20T18:00:00.000Z',
remind_at: '2026-06-20T17:30:00.000Z',
notes: 'Updated notes for the task.',
last_updated_by: 'member2@example.com'
});
console.log(response);
}
updateTask();curl -X PATCH https://api.periskope.app/v1/tasks/task-00000000000000a1 \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{"status":"closed","last_updated_by":"member1@example.com"}'{
"task_id": "task-elnizmojzrjsogdm",
"title": "Resolve customer escalation",
"type": "message",
"status": "closed",
"priority": 3,
"assignee": "ankit.singh@hashlabs.dev",
"created_by": "anjali.pandey@hashlabs.dev",
"last_updated_by": "ankit.singh@hashlabs.dev",
"created_at": "2026-06-03T06:00:56.592+00:00",
"last_updated_at": "2026-06-04T18:09:36.420636+00:00",
"due_date": "2026-06-15T18:00:00+00:00",
"remind_at": "2026-06-18T18:00:00+00:00",
"notes": "Customer escalated via email — coordinate with support",
"chat_id": "919205202401@c.us",
"association": {
"type": "message",
"message_id": "true_4ca42ab6-77a9-428d-b614-5eb37bcf8f95_anjali.pandey@hashlabs.dev",
"chat_id": "919205202401@c.us"
},
"completed_metadata": {
"completed_at": "2026-06-04T18:09:36.407Z",
"completed_by": "ankit.singh@hashlabs.dev"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
- The unique identifier of the task
Example:
"task-elnizmojzrjsogdm"
Body
application/json
- The title of the task (1–500 characters)
Example:
"Resolve customer escalation"
- Status of the task
- Possible values:
open,inprogress,closed - Default
open
Available options:
open, inprogress, closed Example:
"closed"
- The priority of the task
- Possible values:
1,2,3 - Default
1
Available options:
1, 2, 3 Example:
3
- Email of an org member. Validated against your org's member list
Example:
"ankit.singh@hashlabs.dev"
- The due date of the task
- Should be in ISO 8601 timestamp format
Example:
"2026-06-15T18:00:00+00:00"
- Free-form text attached to the task
Example:
"Customer escalated via email — coordinate with support"
- The remind date for the task to receive a reminder
- Should be in ISO 8601 timestamp format
Example:
"2026-06-18T18:00:00+00:00"
- Email of an org member. Defaults to
"api". - Used as
completed_bywhen this update closes the task
Example:
"ankit.singh@hashlabs.dev"
Response
200 - application/json
200 OK
The response is a task object. Refer to the task object here
Was this page helpful?