import { PeriskopeApi } from '@periskope/periskope-client';const client = new PeriskopeApi({ authToken: 'YOUR_API_KEY',});async function main() { const response = await client.tasks.updateTask({ task_id: 'task-aaaaaaaaaaaa', title: 'Call back the customer about the renewal quote', }); console.log(response);}main();
curl -X PATCH 'https://api.periskope.app/v1/tasks/task-aaaaaaaaaaaa' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"title": "Call back the customer about the renewal quote"
}'
{ "task_id": "task-aaaaaaaaaaaa", "title": "Call back the customer about the renewal quote", "type": "message", "status": "open", "priority": 2, "assignee": "user@example.com", "created_by": "api", "last_updated_by": "api", "created_at": "2026-01-15T09:30:00.000Z", "last_updated_at": "2026-01-15T09:30:00.000Z", "due_date": "2026-01-20T17:00:00.000Z", "remind_at": "2026-01-20T09:00:00.000Z", "notes": "Customer prefers a call after 3pm IST", "chat_id": "120363000000000000@g.us", "association": { "type": "message", "chat_id": "120363000000000000@g.us", "message_id": "false_120363000000000000@g.us_AAAAAAAAAAAAAAAAAAAA", "ticket_id": "ACM-042" }, "completed_metadata": { "completed_at": "2026-01-21T10:15:00.000Z", "completed_by": "user@example.com" }}
{
"code": "RATE_LIMIT_ERROR",
"message": "You can only make 100 requests per second",
"status": 429
}
{
"code": "UNKNOWN_ERROR",
"message": "Internal server error",
"status": 500
}
Task APIs
Update Task
Updates a task — any combination of title, status, priority, assignee, due_date, notes and remind_at; at least one required. The type and associations cannot change.
TypeScript
import { PeriskopeApi } from '@periskope/periskope-client';const client = new PeriskopeApi({ authToken: 'YOUR_API_KEY',});async function main() { const response = await client.tasks.updateTask({ task_id: 'task-aaaaaaaaaaaa', title: 'Call back the customer about the renewal quote', }); console.log(response);}main();
curl -X PATCH 'https://api.periskope.app/v1/tasks/task-aaaaaaaaaaaa' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"title": "Call back the customer about the renewal quote"
}'
{ "task_id": "task-aaaaaaaaaaaa", "title": "Call back the customer about the renewal quote", "type": "message", "status": "open", "priority": 2, "assignee": "user@example.com", "created_by": "api", "last_updated_by": "api", "created_at": "2026-01-15T09:30:00.000Z", "last_updated_at": "2026-01-15T09:30:00.000Z", "due_date": "2026-01-20T17:00:00.000Z", "remind_at": "2026-01-20T09:00:00.000Z", "notes": "Customer prefers a call after 3pm IST", "chat_id": "120363000000000000@g.us", "association": { "type": "message", "chat_id": "120363000000000000@g.us", "message_id": "false_120363000000000000@g.us_AAAAAAAAAAAAAAAAAAAA", "ticket_id": "ACM-042" }, "completed_metadata": { "completed_at": "2026-01-21T10:15:00.000Z", "completed_by": "user@example.com" }}
Your Periskope API token, sent as Authorization: Bearer <token>. Generate one from the Periskope dashboard under Settings → API & Webhooks. API access requires an active Pro or Enterprise plan.
New status of the task: 'open', 'inprogress' or 'closed'. Pass null or an empty string to reset it to 'open'. Moving the task to 'closed' records completed_metadata with the completion time and actor; moving it out of 'closed' clears it.
New priority of the task: 1 (low), 2 (medium) or 3 (high). Accepts a number or a numeric string. Pass null or an empty string to reset the priority to 1.
Email of the workspace member to reassign the task to. Must match an existing member of the workspace. Pass null or an empty string to unassign the task.
New due date, as an ISO 8601 timestamp (other common date formats are accepted and normalized to UTC ISO 8601). Pass null or an empty string to clear the due date.
New reminder time, as an ISO 8601 timestamp (other common date formats are accepted and normalized to UTC ISO 8601). Pass null or an empty string to clear the reminder.
Email of the workspace member to record as the author of this update. Must match an existing member of the workspace. Defaults to "api".
Example:
"user@example.com"
Response
The updated task
A task in the workspace. Tasks are either standalone to-dos (type: todo) or linked to a chat, message or ticket via association. Tasks belong to the workspace as a whole, not to a specific phone.
Completion details, recorded when the task moves to status 'closed' and cleared when it is reopened. null while the task is open or inprogress.
Show child attributes
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Periskope Docs","colors":{"primary":"#15803D","light":"#15803D"},"logo":{"light":"https://mintcdn.com/bharatkumarramesh/Sq5VlnE2OgDOCH8s/logo/periskope-logo-full.svg?fit=max\u0026auto=format\u0026n=Sq5VlnE2OgDOCH8s\u0026q=85\u0026s=cace2e822ea7c0cd2a98b9d946baa593","dark":"https://mintcdn.com/bharatkumarramesh/Sq5VlnE2OgDOCH8s/logo/periskope-logo-full.svg?fit=max\u0026auto=format\u0026n=Sq5VlnE2OgDOCH8s\u0026q=85\u0026s=cace2e822ea7c0cd2a98b9d946baa593"},"favicon":"https://mintcdn.com/bharatkumarramesh/4Au0rGi6EzWXLRIt/logo/periskope-logo.svg?fit=max\u0026auto=format\u0026n=4Au0rGi6EzWXLRIt\u0026q=85\u0026s=275c52e578008a630d9a4c6e150100a0","api":{"playground":{"display":"none"}},"appearance":{"strict":true},"navbar":{"links":[{"href":"https://www.postman.com/periskope/workspace/periskope-platform-api","label":"Postman API collection"},{"href":"https://what.sapp.link/periskope","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://console.periskope.app"}},"footer":{"socials":{"twitter":"https://twitter.com/periskope_app","linkedin":"https://www.linkedin.com/company/periskope-app","youtube":"https://www.youtube.com/@PeriskopeApp"}},"integrations":{"gtm":{"tagId":"GTM-N9SPZLGR"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"bharatkumarramesh","hasAudioNarration":false,"actualSubdomain":"bharatkumarramesh","customDomains":["docs.periskope.app"],"gitSource":{"type":"github","owner":"periskope-org","repo":"docs-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ace2b08a71bd07e07006d57","collectionId":"48f31024-df92-485a-8d57-54cf320a1a90","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ace2b08a71bd07e07006d57"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ace2b08a71bd07e07006d57","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"APIs \u0026 Webhooks","count":133},{"language":"default","tag":"Documentation","count":68},{"language":"default","tag":"Webhooks","count":21},{"language":"default","tag":"Message APIs","count":14},{"language":"default","tag":"API","count":13},{"language":"default","tag":"Chat APIs","count":13},{"language":"default","tag":"AI Agent","count":11},{"language":"default","tag":"Manage WhatsApp Groups, 1:1 Chats \u0026 Communities","count":11},{"language":"default","tag":"Group Settings APIs","count":9},{"language":"default","tag":"Objects","count":9}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".image-container{max-width:50%;margin:0 auto}"}],"page":{"pagePath":"api-reference/tasks/update-task","slug":"/api-reference/tasks/update-task","pageMetadata":{"title":"Update Task","openapi":"api-reference/openapi-generated.json PATCH /v1/tasks/{task_id}","description":"Updates a task — any combination of title, status, priority, assignee, due_date, notes and remind_at; at least one required. The type and associations cannot change.","href":"/api-reference/tasks/update-task"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Updates a task — any combination of title, status, priority, assignee, due_date, notes and remind_at; at least one required. The type and associations cannot change.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Update Task","openapi":"api-reference/openapi-generated.json PATCH /v1/tasks/{task_id}","description":"Updates a task — any combination of title, status, priority, assignee, due_date, notes and remind_at; at least one required. The type and associations cannot change.","href":"/api-reference/tasks/update-task"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"updateTask","summary":"Update a task","description":"Updates a task — any combination of title, status, priority, assignee, due_date, notes and remind_at; at least one required. The type and associations cannot change.","tags":["Tasks"],"security":["b146f61b-0d2f-46ea-b6b2-9868bab4e0dd"],"parameters":["01637f77-1fc8-4cb1-b9f8-2b44b3e7c1dc"],"requestBody":"3f591a83-c7b3-4bef-9880-164e719d273b","responses":{"200":"a24b76cb-9986-470b-bfb8-a02165ba5a9e","401":"0b0e7788-6872-43a6-8cb7-a08959de2dec","404":"20b62390-a0d0-477f-b3b2-c0cd7e0a8c87","422":"381e925c-72ad-4da7-80bb-400018897e45","429":"d8c0464f-7c63-4821-9a33-ecb5c8f94cc8","500":"e2331f8b-d360-4e96-a2a0-3f5932a840ef"},"x-codeSamples":[{"lang":"typescript","label":"TypeScript","source":"import { PeriskopeApi } from '@periskope/periskope-client';\n\nconst client = new PeriskopeApi({\n authToken: 'YOUR_API_KEY',\n});\n\nasync function main() {\n const response = await client.tasks.updateTask({\n task_id: 'task-aaaaaaaaaaaa',\n title: 'Call back the customer about the renewal quote',\n });\n console.log(response);\n}\n\nmain();"},{"lang":"bash","label":"cURL","source":"curl -X PATCH 'https://api.periskope.app/v1/tasks/task-aaaaaaaaaaaa' \\\n -H 'Authorization: Bearer YOUR_API_KEY' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"title\": \"Call back the customer about the renewal quote\"\n }'"}],"method":"patch","type":"path","servers":["2ec064a0-e791-41aa-a9fb-19cffabac6c9"],"path":"/v1/tasks/{task_id}","baseUrlOptions":["https://api.periskope.app"],"title":"Update a task","codeSamples":[{"label":"TypeScript","lang":"typescript","source":"import { PeriskopeApi } from '@periskope/periskope-client';\n\nconst client = new PeriskopeApi({\n authToken: 'YOUR_API_KEY',\n});\n\nasync function main() {\n const response = await client.tasks.updateTask({\n task_id: 'task-aaaaaaaaaaaa',\n title: 'Call back the customer about the renewal quote',\n });\n console.log(response);\n}\n\nmain();"},{"label":"cURL","lang":"bash","source":"curl -X PATCH 'https://api.periskope.app/v1/tasks/task-aaaaaaaaaaaa' \\\n -H 'Authorization: Bearer YOUR_API_KEY' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"title\": \"Call back the customer about the renewal quote\"\n }'"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"01637f77-1fc8-4cb1-b9f8-2b44b3e7c1dc":{"schema":{"type":"string","minLength":1,"description":"Unique id of the task (task-xxxxxxxxxxxxxxxx), returned when the task was created","example":"task-aaaaaaaaaaaa","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"description":"Unique id of the task (task-xxxxxxxxxxxxxxxx), returned when the task was created","name":"task_id","in":"path"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":500,"description":"New title of the task, up to 500 characters. Cannot be null or empty.","example":"Call back the customer about the renewal quote","uniqueKey":"title","typeLabel":"string"},"status":{"oneOf":[{"type":"string","enum":["open","inprogress","closed",null],"description":"New status of the task: 'open', 'inprogress' or 'closed'. Pass null or an empty string to reset it to 'open'. Moving the task to 'closed' records completed_metadata with the completion time and actor; moving it out of 'closed' clears it.","example":"closed","uniqueKey":"status.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","inprogress","closed",null],"description":"New status of the task: 'open', 'inprogress' or 'closed'. Pass null or an empty string to reset it to 'open'. Moving the task to 'closed' records completed_metadata with the completion time and actor; moving it out of 'closed' clears it.","example":"closed","uniqueKey":"status.oneOf.1","typeLabel":"null"}],"uniqueKey":"status","typeLabel":"enum\u003cstring> | null"},"priority":{"oneOf":[{"type":"integer","minimum":1,"maximum":3,"description":"New priority of the task: 1 (low), 2 (medium) or 3 (high). Accepts a number or a numeric string. Pass null or an empty string to reset the priority to 1.","example":3,"uniqueKey":"priority.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"maximum":3,"description":"New priority of the task: 1 (low), 2 (medium) or 3 (high). Accepts a number or a numeric string. Pass null or an empty string to reset the priority to 1.","example":3,"uniqueKey":"priority.oneOf.1","typeLabel":"null"}],"uniqueKey":"priority","typeLabel":"integer | null"},"assignee":{"oneOf":[{"type":"string","description":"Email of the workspace member to reassign the task to. Must match an existing member of the workspace. Pass null or an empty string to unassign the task.","example":"user@example.com","uniqueKey":"assignee.oneOf.0","typeLabel":"string"},{"type":"null","description":"Email of the workspace member to reassign the task to. Must match an existing member of the workspace. Pass null or an empty string to unassign the task.","example":"user@example.com","uniqueKey":"assignee.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignee","typeLabel":"string | null"},"due_date":{"oneOf":[{"type":"string","description":"New due date, as an ISO 8601 timestamp (other common date formats are accepted and normalized to UTC ISO 8601). Pass null or an empty string to clear the due date.","example":"2026-01-20T17:00:00Z","uniqueKey":"due_date.oneOf.0","typeLabel":"string"},{"type":"null","description":"New due date, as an ISO 8601 timestamp (other common date formats are accepted and normalized to UTC ISO 8601). Pass null or an empty string to clear the due date.","example":"2026-01-20T17:00:00Z","uniqueKey":"due_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"due_date","typeLabel":"string | null"},"notes":{"oneOf":[{"type":"string","description":"New notes for the task. Pass null or an empty string to clear them.","example":"Customer prefers a call after 3pm IST","uniqueKey":"notes.oneOf.0","typeLabel":"string"},{"type":"null","description":"New notes for the task. Pass null or an empty string to clear them.","example":"Customer prefers a call after 3pm IST","uniqueKey":"notes.oneOf.1","typeLabel":"null"}],"uniqueKey":"notes","typeLabel":"string | null"},"remind_at":{"oneOf":[{"type":"string","description":"New reminder time, as an ISO 8601 timestamp (other common date formats are accepted and normalized to UTC ISO 8601). Pass null or an empty string to clear the reminder.","example":"2026-01-20T09:00:00Z","uniqueKey":"remind_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"New reminder time, as an ISO 8601 timestamp (other common date formats are accepted and normalized to UTC ISO 8601). Pass null or an empty string to clear the reminder.","example":"2026-01-20T09:00:00Z","uniqueKey":"remind_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"remind_at","typeLabel":"string | null"},"last_updated_by":{"oneOf":[{"type":"string","description":"Email of the workspace member to record as the author of this update. Must match an existing member of the workspace. Defaults to \"api\".","example":"user@example.com","uniqueKey":"last_updated_by.oneOf.0","typeLabel":"string"},{"type":"null","description":"Email of the workspace member to record as the author of this update. Must match an existing member of the workspace. Defaults to \"api\".","example":"user@example.com","uniqueKey":"last_updated_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"last_updated_by","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"title":"Call back the customer about the renewal quote","status":"closed","priority":3,"assignee":"user@example.com","due_date":"2026-01-20T17:00:00Z","notes":"Customer prefers a call after 3pm IST","remind_at":"2026-01-20T09:00:00Z","last_updated_by":"user@example.com"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"a24b76cb-9986-470b-bfb8-a02165ba5a9e":{"description":"The updated task","content":{"application/json":{"schema":{"type":"object","properties":{"task_id":{"type":"string","description":"Unique id of the task (task-xxxxxxxxxxxxxxxx). Use this value as the task_id path parameter when fetching or updating the task.","example":"task-aaaaaaaaaaaa","uniqueKey":"task_id","typeLabel":"string"},"title":{"type":"string","description":"Title of the task, up to 500 characters","example":"Call back the customer about the renewal quote","uniqueKey":"title","typeLabel":"string"},"type":{"type":"string","enum":["todo","chat","message","ticket"],"description":"Kind of task: 'todo' for a standalone task, or 'chat', 'message' or 'ticket' for a task linked to that object. Immutable after creation.","example":"message","uniqueKey":"type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["open","inprogress","closed"],"description":"Lifecycle status of the task: 'open', 'inprogress' or 'closed'","example":"open","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"priority":{"type":"integer","description":"Priority of the task: 1 (low), 2 (medium) or 3 (high)","example":2,"uniqueKey":"priority","typeLabel":"integer"},"assignee":{"type":"string","description":"Email of the workspace member the task is assigned to. null when the task is unassigned.","example":"user@example.com","uniqueKey":"assignee","typeLabel":"string"},"created_by":{"type":"string","description":"Who created the task: a member's email, or \"api\" when created via the API without a created_by","example":"api","uniqueKey":"created_by","typeLabel":"string"},"last_updated_by":{"type":"string","description":"Who last changed the task: a member's email, or \"api\" for API changes without a last_updated_by","example":"api","uniqueKey":"last_updated_by","typeLabel":"string"},"created_at":{"type":"string","description":"When the task was created, as an ISO 8601 timestamp","example":"2026-01-15T09:30:00.000Z","uniqueKey":"created_at","typeLabel":"string"},"last_updated_at":{"type":"string","description":"When the task was last updated, as an ISO 8601 timestamp","example":"2026-01-15T09:30:00.000Z","uniqueKey":"last_updated_at","typeLabel":"string"},"due_date":{"type":"string","description":"When the task is due, as an ISO 8601 UTC timestamp. null when no due date is set.","example":"2026-01-20T17:00:00.000Z","uniqueKey":"due_date","typeLabel":"string"},"remind_at":{"type":"string","description":"When a reminder for the task fires, as an ISO 8601 UTC timestamp. null when no reminder is set.","example":"2026-01-20T09:00:00.000Z","uniqueKey":"remind_at","typeLabel":"string"},"notes":{"type":"string","description":"Free-form notes on the task. null when none were set.","example":"Customer prefers a call after 3pm IST","uniqueKey":"notes","typeLabel":"string"},"chat_id":{"type":"string","description":"Id of the chat the task is linked to (directly, or through its message or ticket). null for todo tasks.","example":"120363000000000000@g.us","uniqueKey":"chat_id","typeLabel":"string"},"association":{"type":"object","properties":{"type":{"type":"string","enum":["chat","message","ticket"],"description":"Kind of object the task is linked to: 'chat', 'message' or 'ticket'. Mirrors the task's type.","example":"message","uniqueKey":"association.type","typeLabel":"enum\u003cstring>"},"chat_id":{"type":"string","description":"Id of the chat the linked object belongs to — \u003ccountrycode>\u003cnumber>@c.us for 1-1 chats, \u003cgroup-id>@g.us for group chats. Present for every association kind; the chat itself for chat tasks, the chat of the message or ticket otherwise. null when the chat could not be resolved.","example":"120363000000000000@g.us","uniqueKey":"association.chat_id","typeLabel":"string"},"message_id":{"type":"string","description":"message_id of the linked message. Present only when type is 'message'.","example":"false_120363000000000000@g.us_AAAAAAAAAAAAAAAAAAAA","uniqueKey":"association.message_id","typeLabel":"string"},"ticket_id":{"type":"string","description":"ticket_id of the linked ticket. Present only when type is 'ticket'.","example":"ACM-042","uniqueKey":"association.ticket_id","typeLabel":"string"}},"description":"The chat, message or ticket the task is linked to. null for todo tasks.","uniqueKey":"association","typeLabel":"object"},"completed_metadata":{"type":"object","properties":{"completed_at":{"type":"string","description":"When the task was closed, as an ISO 8601 timestamp","example":"2026-01-21T10:15:00.000Z","uniqueKey":"completed_metadata.completed_at","typeLabel":"string"},"completed_by":{"type":"string","description":"Who closed the task: a member's email, or \"api\" for API changes without an actor","example":"user@example.com","uniqueKey":"completed_metadata.completed_by","typeLabel":"string"}},"description":"Completion details, recorded when the task moves to status 'closed' and cleared when it is reopened. null while the task is open or inprogress.","uniqueKey":"completed_metadata","typeLabel":"object"}},"description":"A task in the workspace. Tasks are either standalone to-dos (type: todo) or linked to a chat, message or ticket via association. Tasks belong to the workspace as a whole, not to a specific phone.","uniqueKey":"","typeLabel":"object"},"examples":{"default":{"title":"default","value":{"task_id":"task-aaaaaaaaaaaa","title":"Call back the customer about the renewal quote","type":"message","status":"open","priority":2,"assignee":"user@example.com","created_by":"api","last_updated_by":"api","created_at":"2026-01-15T09:30:00.000Z","last_updated_at":"2026-01-15T09:30:00.000Z","due_date":"2026-01-20T17:00:00.000Z","remind_at":"2026-01-20T09:00:00.000Z","notes":"Customer prefers a call after 3pm IST","chat_id":"120363000000000000@g.us","association":{"type":"message","chat_id":"120363000000000000@g.us","message_id":"false_120363000000000000@g.us_AAAAAAAAAAAAAAAAAAAA","ticket_id":"ACM-042"},"completed_metadata":{"completed_at":"2026-01-21T10:15:00.000Z","completed_by":"user@example.com"}}}},"exampleType":"examples"}},"exampleType":"examples"},"0b0e7788-6872-43a6-8cb7-a08959de2dec":{"description":"Invalid, expired or missing API token","content":{"application/json":{"examples":{"error":{"title":"error","value":{"code":"UNAUTHORIZED_ERROR","message":"Invalid bearer auth token","status":401}}},"schema":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED_ERROR","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","example":"Invalid bearer auth token","uniqueKey":"message","typeLabel":"string"},"status":{"type":"integer","example":401,"uniqueKey":"status","typeLabel":"integer"}},"example":{"code":"UNAUTHORIZED_ERROR","message":"Invalid bearer auth token","status":401},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"20b62390-a0d0-477f-b3b2-c0cd7e0a8c87":{"description":"No task matches task_id","content":{"application/json":{"examples":{"error":{"title":"error","value":{"code":"NOT_FOUND_ERROR","message":"No task matches task_id","status":404}}},"schema":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND_ERROR","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","example":"No task matches task_id","uniqueKey":"message","typeLabel":"string"},"status":{"type":"integer","example":404,"uniqueKey":"status","typeLabel":"integer"}},"example":{"code":"NOT_FOUND_ERROR","message":"No task matches task_id","status":404},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"381e925c-72ad-4da7-80bb-400018897e45":{"description":"Request validation failed","content":{"application/json":{"examples":{"error":{"title":"error","value":{"code":"VALIDATION_ERROR","message":"Request validation failed","status":422,"fields":{"body.chat_id":{"message":"chat_id is required"}}}}},"schema":{"type":"object","properties":{"code":{"type":"string","example":"VALIDATION_ERROR","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","example":"Request validation failed","uniqueKey":"message","typeLabel":"string"},"status":{"type":"integer","example":422,"uniqueKey":"status","typeLabel":"integer"},"fields":{"type":"object","additionalProperties":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"fields.additionalProperties.message","typeLabel":"string"},"value":{"oneOf":[{}],"uniqueKey":"fields.additionalProperties.value","typeLabel":"any"}},"uniqueKey":"fields.additionalProperties","typeLabel":"object"},"example":{"body.chat_id":{"message":"chat_id is required"}},"uniqueKey":"fields","typeLabel":"object"}},"example":{"code":"VALIDATION_ERROR","message":"Request validation failed","status":422,"fields":{"body.chat_id":{"message":"chat_id is required"}}},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"d8c0464f-7c63-4821-9a33-ecb5c8f94cc8":{"description":"Rate limit exceeded","content":{"application/json":{"examples":{"error":{"title":"error","value":{"code":"RATE_LIMIT_ERROR","message":"You can only make 100 requests per second","status":429}}},"schema":{"type":"object","properties":{"code":{"type":"string","example":"RATE_LIMIT_ERROR","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","example":"You can only make 100 requests per second","uniqueKey":"message","typeLabel":"string"},"status":{"type":"integer","example":429,"uniqueKey":"status","typeLabel":"integer"}},"example":{"code":"RATE_LIMIT_ERROR","message":"You can only make 100 requests per second","status":429},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"e2331f8b-d360-4e96-a2a0-3f5932a840ef":{"description":"Internal server error","content":{"application/json":{"examples":{"error":{"title":"error","value":{"code":"UNKNOWN_ERROR","message":"Internal server error","status":500}}},"schema":{"type":"object","properties":{"code":{"type":"string","example":"UNKNOWN_ERROR","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","example":"Internal server error","uniqueKey":"message","typeLabel":"string"},"status":{"type":"integer","example":500,"uniqueKey":"status","typeLabel":"integer"}},"example":{"code":"UNKNOWN_ERROR","message":"Internal server error","status":500},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"b146f61b-0d2f-46ea-b6b2-9868bab4e0dd":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Your Periskope API token, sent as `Authorization: Bearer \u003ctoken>`. Generate one from the Periskope dashboard under **Settings → API \u0026 Webhooks**. API access requires an active Pro or Enterprise plan.","scopes":[]}}},"servers":{"2ec064a0-e791-41aa-a9fb-19cffabac6c9":{"url":"https://api.periskope.app"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Your Periskope API token, sent as `Authorization: Bearer \u003ctoken>`. Generate one from the Periskope dashboard under **Settings → API \u0026 Webhooks**. API access requires an active Pro or Enterprise plan.","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Your Periskope API token, sent as `Authorization: Bearer \u003ctoken>`. Generate one from the Periskope dashboard under **Settings → API \u0026 Webhooks**. API access requires an active Pro or Enterprise plan.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi-generated.json"},"subdomain":"bharatkumarramesh","siteName":"Periskope Docs","title":"Update Task - Periskope Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-25T16:09:26.356Z","originalFileLocation":"api-reference/tasks/update-task.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Updates a task — any combination of title, status, priority, assignee, due_date, notes and remind_at; at least one required. The type and associations cannot change.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Periskope Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update Task - Periskope Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Updates a task — any combination of title, status, priority, assignee, due_date, notes and remind_at; at least one required. The type and associations cannot change.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Periskope Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.periskope.app/api-reference/tasks/update-task\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://bharatkumarramesh.mintlify.app/_mintlify/api/og/v2?division=Task+APIs\u0026amp;title=Update+Task\u0026amp;description=Updates+a+task+%E2%80%94+any+combination+of+title%2C+status%2C+priority%2C+assignee%2C+due_date%2C+notes+and+remind_at%3B+at+least+one+required.+The+type+and+associations+cannot+ch\u0026amp;theme=42ac27e6aa5a1e2c22bc4538\u0026amp;signature=507abeb5d01a497a0d2c85803d0692a3e3bdcb837545c25c5e64424bcf20d65b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Update Task - Periskope Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Updates a task — any combination of title, status, priority, assignee, due_date, notes and remind_at; at least one required. The type and associations cannot change.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://bharatkumarramesh.mintlify.app/_mintlify/api/og/v2?division=Task+APIs\u0026amp;title=Update+Task\u0026amp;description=Updates+a+task+%E2%80%94+any+combination+of+title%2C+status%2C+priority%2C+assignee%2C+due_date%2C+notes+and+remind_at%3B+at+least+one+required.+The+type+and+associations+cannot+ch\u0026amp;theme=42ac27e6aa5a1e2c22bc4538\u0026amp;signature=507abeb5d01a497a0d2c85803d0692a3e3bdcb837545c25c5e64424bcf20d65b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Periskope Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#15803D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.periskope.app/api-reference/tasks/update-task\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/tasks/update-task.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.periskope.app/#organization\",\"name\":\"Periskope Docs\",\"url\":\"https://docs.periskope.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/bharatkumarramesh/Sq5VlnE2OgDOCH8s/logo/periskope-logo-full.svg?fit=max\u0026auto=format\u0026n=Sq5VlnE2OgDOCH8s\u0026q=85\u0026s=cace2e822ea7c0cd2a98b9d946baa593\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.periskope.app#website\",\"name\":\"Periskope Docs\",\"url\":\"https://docs.periskope.app\",\"publisher\":{\"@id\":\"https://docs.periskope.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.periskope.app/api-reference/tasks/update-task#webpage\",\"url\":\"https://docs.periskope.app/api-reference/tasks/update-task\",\"name\":\"Update Task\",\"description\":\"Updates a task — any combination of title, status, priority, assignee, due_date, notes and remind_at; at least one required. The type and associations cannot change.\",\"dateModified\":\"2026-09-25T16:09:26.356Z\",\"isPartOf\":{\"@id\":\"https://docs.periskope.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.periskope.app/api-reference/tasks/update-task#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.periskope.app/api-reference/tasks/update-task#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Task APIs\",\"item\":\"https://docs.periskope.app/api-reference/tasks/get-task-by-id\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Update Task\",\"item\":\"https://docs.periskope.app/api-reference/tasks/update-task\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.periskope.app/api-reference/tasks/update-task#apireference\",\"headline\":\"Update Task\",\"name\":\"Update Task\",\"description\":\"Updates a task — any combination of title, status, priority, assignee, due_date, notes and remind_at; at least one required. The type and associations cannot change.\",\"url\":\"https://docs.periskope.app/api-reference/tasks/update-task\",\"mainEntityOfPage\":{\"@id\":\"https://docs.periskope.app/api-reference/tasks/update-task#webpage\"},\"dateModified\":\"2026-09-25T16:09:26.356Z\",\"publisher\":{\"@id\":\"https://docs.periskope.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.periskope.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Periskope Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Periskope Docs","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/get-started/introduction"}]},{"anchor":"APIs \u0026 Webhooks","icon":"webhook","groups":[{"group":"API","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Authorization","href":"/api-reference/authorization"},{"title":"SDK","href":"/api-reference/sdk"},{"group":"Objects","pages":[{"title":"The Chat Object","href":"/api-reference/objects/the-chat-object"},{"title":"The Chat Notification Object","href":"/api-reference/objects/the-chat-notification-object"},{"title":"The Reaction Object","href":"/api-reference/objects/the-reaction-object"},{"title":"The Message Object","href":"/api-reference/objects/the-message-object"},{"title":"The Contact Object","href":"/api-reference/objects/the-contact-object"},{"title":"The Ticket Info Object","href":"/api-reference/objects/the-ticket-info-object"},{"title":"The Task Object","href":"/api-reference/objects/the-task-object"},{"title":"The Phone Object","href":"/api-reference/objects/the-phone-object"},{"title":"The Note Object","href":"/api-reference/objects/the-note-object"}]},{"title":"WhatsApp Message Ack Status","href":"/api-reference/delivery-status"}]},{"group":"Chat APIs","icon":"comments","pages":[{"title":"Get Chat By ID","openapi":"api-reference/openapi-generated.json GET /v1/chats/{chat_id}","href":"/api-reference/chat/get-chat-by-id"},{"title":"Get Messages in a Chat","openapi":"api-reference/openapi-generated.json GET /v1/chats/{chat_id}/messages","href":"/api-reference/chat/get-messages-in-chat"},{"title":"Get Private Notes in a Chat","openapi":"api-reference/openapi-generated.json GET /v1/chats/{chat_id}/notes","href":"/api-reference/chat/get-private-notes-in-chat"},{"title":"Get Notifications in a Chat","openapi":"api-reference/openapi-generated.json GET /v1/chats/{chat_id}/notifications","href":"/api-reference/chat/get-notifications-in-chat"},{"title":"List All Chats","openapi":"api-reference/openapi-generated.json GET /v1/chats","href":"/api-reference/chat/list-all-chats"},{"title":"List All Messages","openapi":"api-reference/openapi-generated.json GET /v1/chats/messages","href":"/api-reference/chat/list-all-messages"},{"title":"List All Notifications","openapi":"api-reference/openapi-generated.json GET /v1/chats/notifications","href":"/api-reference/chat/list-all-notifications"},{"title":"Update Chat Labels","openapi":"api-reference/openapi-generated.json PATCH /v1/chats/labels","href":"/api-reference/chat/update-chat-labels"},{"title":"Update Chat","openapi":"api-reference/openapi-generated.json PATCH /v1/chats/{chat_id}","href":"/api-reference/chat/update-chat"},{"title":"Mark chat as read","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/read","href":"/api-reference/chat/mark-read"},{"title":"Update Chat Access","openapi":"api-reference/openapi-generated.json PATCH /v1/chats/access","href":"/api-reference/chat/override-chat-access"},{"title":"Get Chat Audit Logs","openapi":"api-reference/openapi-generated.json GET /v1/chats/{chat_id}/audit-logs","href":"/api-reference/chat/get-chat-audit-logs"},{"title":"Update Chat AI Settings","openapi":"api-reference/openapi-generated.json PATCH /v1/chats/{chat_id}/ai","href":"/api-reference/chat/update-chat-ai-settings"}]},{"group":"Group Settings APIs","pages":[{"title":"Create Group","openapi":"api-reference/openapi-generated.json POST /v1/chats/create","href":"/api-reference/chat/create-group"},{"title":"Generate a new invite link for a chat","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/invite","href":"/api-reference/chat/refresh-invite"},{"title":"Add Participant to Group","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/add","href":"/api-reference/chat/add-participant"},{"title":"Remove Participant from Group","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/remove","href":"/api-reference/chat/remove-participant"},{"title":"Promote Participant to Admin","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/promote","href":"/api-reference/chat/promote-participant-to-admin"},{"title":"Demote Participant to Member","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/demote","href":"/api-reference/chat/demote-participant-to-member"},{"title":"Update Group Settings","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/settings","href":"/api-reference/chat/update-group-settings"},{"title":"Accept Group Invite","openapi":"api-reference/openapi-generated.json POST /v1/chats/accept-invite","href":"/api-reference/chat/accept-group-invite"},{"title":"Leave Group","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/leave","href":"/api-reference/chat/leave-group"}]},{"group":"Message APIs","icon":"comment","pages":[{"title":"Send Message","openapi":"api-reference/openapi-generated.json POST /v1/message/send","href":"/api-reference/message/send-message"},{"title":"Send Sync Message","openapi":"api-reference/openapi-generated.json POST /v1/message/send-sync","href":"/api-reference/message/send-message-sync"},{"title":"Broadcast Message","openapi":"api-reference/openapi-generated.json POST /v1/message/broadcast","href":"/api-reference/message/broadcast-message"},{"title":"Delete a Broadcast","openapi":"api-reference/openapi-generated.json DELETE /v1/message/broadcast/{broadcast_id}","href":"/api-reference/message/delete-broadcast"},{"title":"Delete Message","openapi":"api-reference/openapi-generated.json POST /v1/message/{message_id}/delete","href":"/api-reference/message/delete-message"},{"title":"Edit Message","openapi":"api-reference/openapi-generated.json POST /v1/message/{message_id}/edit","href":"/api-reference/message/edit-message"},{"title":"Forward Message","openapi":"api-reference/openapi-generated.json POST /v1/message/{message_id}/forward","href":"/api-reference/message/forward-message"},{"title":"Get Message","openapi":"api-reference/openapi-generated.json GET /v1/message/{message_id}","href":"/api-reference/message/get-message"},{"title":"React to Message","openapi":"api-reference/openapi-generated.json POST /v1/message/{message_id}/react","href":"/api-reference/message/react-to-message"},{"title":"Pin Message","openapi":"api-reference/openapi-generated.json POST /v1/message/{message_id}/pin","href":"/api-reference/message/pin-message"},{"title":"Get Message Status","openapi":"api-reference/openapi-generated.json GET /v1/message/{unique_id}/status","href":"/api-reference/message/message-status"},{"title":"List All Message Queues","openapi":"api-reference/openapi-generated.json POST /v1/message/queues","href":"/api-reference/message/list-queue-jobs"},{"title":"Get Status of Message Queues","openapi":"api-reference/openapi-generated.json GET /v1/message/queues/health","href":"/api-reference/message/queue-health"},{"title":"Purge Message Queues","openapi":"api-reference/openapi-generated.json POST /v1/message/queues/purge","href":"/api-reference/message/purge-queue-jobs"}]},{"group":"Scheduled Message APIs","pages":[{"title":"List Scheduled Messages","openapi":"api-reference/openapi-generated.json GET /v1/message/scheduled","href":"/api-reference/scheduled-messages/list-scheduled-messages"},{"title":"Schedule a Message","openapi":"api-reference/openapi-generated.json POST /v1/message/scheduled","href":"/api-reference/scheduled-messages/schedule-message"},{"title":"Get Scheduled Message","openapi":"api-reference/openapi-generated.json GET /v1/message/scheduled/{scheduled_id}","href":"/api-reference/scheduled-messages/get-scheduled-message"},{"title":"Update Scheduled Message","openapi":"api-reference/openapi-generated.json PATCH /v1/message/scheduled/{scheduled_id}","href":"/api-reference/scheduled-messages/update-scheduled-message"},{"title":"Delete Scheduled Message","openapi":"api-reference/openapi-generated.json DELETE /v1/message/scheduled/{scheduled_id}","href":"/api-reference/scheduled-messages/delete-scheduled-message"},{"title":"List Scheduled Message Runs","openapi":"api-reference/openapi-generated.json GET /v1/message/scheduled/{scheduled_id}/occurrences","href":"/api-reference/scheduled-messages/list-scheduled-message-occurrences"}]},{"group":"Media APIs","icon":"photo-film","pages":[{"title":"Migrate Media URL","api":"POST https://api.periskope.app/v1/media/migrate-url","href":"/api-reference/media/migrate-url"},{"title":"Migrate Media URLs (Batch)","api":"POST https://api.periskope.app/v1/media/migrate-url/batch","href":"/api-reference/media/migrate-url-batch"}]},{"group":"Contact APIs","icon":"phone","pages":[{"title":"Get Contact By ID","openapi":"api-reference/openapi-generated.json GET /v1/contacts/{contact_id}","href":"/api-reference/contacts/get-contact-by-id"},{"title":"Get Contacts","openapi":"api-reference/openapi-generated.json GET /v1/contacts","href":"/api-reference/contacts/get-contacts"},{"title":"Update Contact Labels","openapi":"api-reference/openapi-generated.json PATCH /v1/contacts/labels","href":"/api-reference/contacts/update-contact-labels"},{"title":"Update Contact","openapi":"api-reference/openapi-generated.json PATCH /v1/contacts/{contact_id}","href":"/api-reference/contacts/update-contact"},{"title":"Create Contact","openapi":"api-reference/openapi-generated.json POST /v1/contacts/create","href":"/api-reference/contacts/create-contact"},{"title":"Check Contact Exists","openapi":"api-reference/openapi-generated.json POST /v1/contacts/check","href":"/api-reference/contacts/check-contact"}]},{"group":"Ticket APIs","icon":"ticket","pages":[{"title":"Get Ticket By ID","openapi":"api-reference/openapi-generated.json GET /v1/tickets/{ticket_id}","href":"/api-reference/tickets/get-ticket-by-id"},{"title":"Get Tickets","openapi":"api-reference/openapi-generated.json GET /v1/tickets","href":"/api-reference/tickets/get-tickets"},{"title":"Update Ticket","openapi":"api-reference/openapi-generated.json PATCH /v1/tickets/{ticket_id}","href":"/api-reference/tickets/update-ticket"},{"title":"Create Ticket","openapi":"api-reference/openapi-generated.json POST /v1/tickets/create","href":"/api-reference/tickets/create-ticket"},{"title":"Get Ticket Audit Logs","openapi":"api-reference/openapi-generated.json GET /v1/tickets/{ticket_id}/audit-logs","href":"/api-reference/tickets/get-ticket-audit-logs"}]},{"group":"Custom Property APIs","icon":"list-dropdown","pages":[{"title":"Get All Custom Properties","openapi":"api-reference/openapi-generated.json GET /v1/properties","href":"/api-reference/properties/get-all-custom-properties"},{"title":"Get Custom Property","openapi":"api-reference/openapi-generated.json GET /v1/properties/{property_id}","href":"/api-reference/properties/get-custom-property"},{"title":"Create Custom Property","openapi":"api-reference/openapi-generated.json POST /v1/properties/create","href":"/api-reference/properties/create-custom-property"},{"title":"Update Custom Property","openapi":"api-reference/openapi-generated.json POST /v1/properties/{property_id}","href":"/api-reference/properties/update-custom-property"},{"title":"Update Property Options","openapi":"api-reference/openapi-generated.json POST /v1/properties/{property_id}/options","href":"/api-reference/properties/update-property-options"},{"title":"Delete Custom Properties","openapi":"api-reference/openapi-generated.json DELETE /v1/properties","href":"/api-reference/properties/delete-custom-property"}]},{"group":"Task APIs","icon":"list-check","pages":[{"title":"Get Task By ID","openapi":"api-reference/openapi-generated.json GET /v1/tasks/{task_id}","href":"/api-reference/tasks/get-task-by-id"},{"title":"Get All Tasks","openapi":"api-reference/openapi-generated.json GET /v1/tasks","href":"/api-reference/tasks/get-tasks"},{"title":"Create Task","openapi":"api-reference/openapi-generated.json POST /v1/tasks/create","description":"Creates a task — standalone (type: todo, default) or linked to a chat, message or ticket via type and the matching id.","href":"/api-reference/tasks/create-task"},{"title":"Update Task","openapi":"api-reference/openapi-generated.json PATCH /v1/tasks/{task_id}","href":"/api-reference/tasks/update-task"}]},{"group":"Queue APIs","icon":"list","pages":[{"title":"Fetch Queue Jobs","openapi":"api-reference/openapi-generated.json GET /v1/queue/jobs","description":"Lists the jobs in the send queue of the phone — scheduled, waiting, in flight, completed or failed.","href":"/api-reference/queues/fetch-queue-jobs"},{"title":"Get Broadcast Status","openapi":"api-reference/openapi-generated.json GET /v1/queue/broadcast","href":"/api-reference/queues/get-broadcast-status"},{"title":"Get Queue Status","openapi":"api-reference/openapi-generated.json GET /v1/queue","href":"/api-reference/queues/get-queue-status"},{"title":"Purge Queue","openapi":"api-reference/openapi-generated.json DELETE /v1/queue/purge","href":"/api-reference/queues/purge-queue"}]},{"group":"Phone APIs","icon":"phone","pages":[{"title":"Get phone","openapi":"api-reference/openapi-generated.json GET /v1/phones","href":"/api-reference/phones/get-phone"},{"title":"Get All Phones","openapi":"api-reference/openapi-generated.json GET /v1/phones/all","href":"/api-reference/phones/get-all-phones"},{"title":"Get QR","openapi":"api-reference/openapi-generated.json GET /v1/phones/qr","href":"/api-reference/phones/get-qr"},{"title":"Reset Phone","openapi":"api-reference/openapi-generated.json POST /v1/phones/reset","href":"/api-reference/phones/reset-phone"},{"title":"Restart Phone","openapi":"api-reference/openapi-generated.json POST /v1/phones/restart","href":"/api-reference/phones/restart-phone"},{"title":"Resync Phone","openapi":"api-reference/openapi-generated.json POST /v1/phones/resync","href":"/api-reference/phones/resync-phone"},{"title":"Update phone","openapi":"api-reference/openapi-generated.json PATCH /v1/phones/update","href":"/api-reference/phones/update-phone"},{"title":"Create Phone","openapi":"api-reference/openapi-generated.json POST /v1/phones/create","href":"/api-reference/phones/create-phone"},{"title":"Delete Phone","openapi":"api-reference/openapi-generated.json DELETE /v1/phones/delete","href":"/api-reference/phones/delete-phone"}]},{"group":"Notes APIs","icon":"comment","pages":[{"title":"Send Private Notes","openapi":"api-reference/openapi-generated.json POST /v1/notes/create","href":"/api-reference/notes/create-private-notes"},{"title":"Get Private Note","openapi":"api-reference/openapi-generated.json GET /v1/notes/{note_id}","href":"/api-reference/notes/get-private-note"},{"title":"List All Private Notes","openapi":"api-reference/openapi-generated.json GET /v1/notes","href":"/api-reference/notes/list-all-private-notes"}]},{"group":"Reaction APIs","icon":"comment","pages":[{"title":"Get Reactions","openapi":"api-reference/openapi-generated.json GET /v1/reactions","href":"/api-reference/reactions/get-reactions"}]},{"group":"Knowledge Base APIs","icon":"brain","pages":[{"title":"Get All Knowledge Base Items","openapi":"api-reference/openapi-generated.json GET /v1/knowledge-base","href":"/api-reference/knowledge-base/get-all-knowledge-base"},{"title":"Get FAQ by ID","openapi":"api-reference/openapi-generated.json GET /v1/knowledge-base/faq/{context_id}","href":"/api-reference/knowledge-base/get-faq-by-id"},{"title":"Create FAQ","openapi":"api-reference/openapi-generated.json POST /v1/knowledge-base/faq/create","href":"/api-reference/knowledge-base/create-faq"},{"title":"Update FAQ","openapi":"api-reference/openapi-generated.json PATCH /v1/knowledge-base/faq/{context_id}","href":"/api-reference/knowledge-base/update-faq"},{"title":"Delete FAQ","openapi":"api-reference/openapi-generated.json DELETE /v1/knowledge-base/faq/{context_id}","href":"/api-reference/knowledge-base/delete-faq"},{"title":"Get Document by ID","openapi":"api-reference/openapi-generated.json GET /v1/knowledge-base/document/{document_id}","href":"/api-reference/knowledge-base/get-document-by-id"},{"title":"Create Document","openapi":"api-reference/openapi-generated.json POST /v1/knowledge-base/document/create","href":"/api-reference/knowledge-base/create-document"},{"title":"Delete Document","openapi":"api-reference/openapi-generated.json DELETE /v1/knowledge-base/document/{document_id}","href":"/api-reference/knowledge-base/delete-document"}]},{"group":"Member APIs","icon":"user-group","pages":[{"title":"Invite Members","openapi":"api-reference/openapi-generated.json POST /v1/members/invite","href":"/api-reference/members/invite-members"},{"title":"Update Member Access","openapi":"api-reference/openapi-generated.json PATCH /v1/members/access","href":"/api-reference/members/update-member-access"},{"title":"Delete Member","openapi":"api-reference/openapi-generated.json DELETE /v1/members/{email_id}","href":"/api-reference/members/delete-member"}]},{"group":"AI APIs","icon":"robot","pages":[{"title":"Trigger AI Reply","openapi":"api-reference/openapi-generated.json POST /v1/ai/reply","href":"/api-reference/ai/trigger-ai-reply"}]},{"group":"Webhook APIs","icon":"webhook","pages":[{"title":"List Webhooks","openapi":"api-reference/openapi-generated.json GET /v1/webhooks","href":"/api-reference/webhooks/list-webhooks"},{"title":"Create Webhook","openapi":"api-reference/openapi-generated.json POST /v1/webhooks","href":"/api-reference/webhooks/create-webhook"},{"title":"Get Webhook by ID","openapi":"api-reference/openapi-generated.json GET /v1/webhooks/{id}","href":"/api-reference/webhooks/get-webhook-by-id"},{"title":"Update Webhook","openapi":"api-reference/openapi-generated.json PATCH /v1/webhooks/{id}","href":"/api-reference/webhooks/update-webhook"},{"title":"Delete Webhook","openapi":"api-reference/openapi-generated.json DELETE /v1/webhooks/{id}","href":"/api-reference/webhooks/delete-webhook"}]},{"group":"Webhooks","pages":[{"title":"Introduction","href":"/api-reference/webhooks/introduction"},{"title":"chat.created","icon":"comments","href":"/api-reference/webhooks/chat.created"},{"title":"chat.notification.created","icon":"comments","href":"/api-reference/webhooks/chat.notification.created"},{"title":"chat.custom-properties.updated","icon":"comments","href":"/api-reference/webhooks/chat.custom-properties.updated"},{"title":"message.created","icon":"comment","href":"/api-reference/webhooks/message.created"},{"title":"message.updated","icon":"comment","href":"/api-reference/webhooks/message.updated"},{"title":"message.deleted","icon":"comment","href":"/api-reference/webhooks/message.deleted"},{"title":"message.ack.updated","icon":"comment","href":"/api-reference/webhooks/message.ack.updated"},{"title":"message.ticket.attached","icon":"comment","href":"/api-reference/webhooks/message.ticket.attached"},{"title":"message.flagged","icon":"comment","href":"/api-reference/webhooks/message.flagged"},{"title":"message.unflagged","icon":"comment","href":"/api-reference/webhooks/message.unflagged"},{"title":"note.created","icon":"comment","href":"/api-reference/webhooks/note.created"},{"title":"reaction.created","icon":"face-smile","href":"/api-reference/webhooks/reaction.created"},{"title":"reaction.updated","icon":"face-smile","href":"/api-reference/webhooks/reaction.updated"},{"title":"ticket.created","icon":"tag","href":"/api-reference/webhooks/ticket.created"},{"title":"ticket.updated","icon":"tag","href":"/api-reference/webhooks/ticket.updated"},{"title":"ticket.deleted","icon":"tag","href":"/api-reference/webhooks/ticket.deleted"},{"title":"org.phone.updated","icon":"phone","href":"/api-reference/webhooks/org.phone.updated"},{"title":"org.phone.connected","icon":"phone","href":"/api-reference/webhooks/org.phone.connected"},{"title":"org.phone.disconnected","icon":"phone","href":"/api-reference/webhooks/org.phone.disconnected"},{"title":"org.phone.qr","icon":"phone","href":"/api-reference/webhooks/org.phone.qr"}]}]},{"anchor":"Free Tools","icon":"toolbox","href":"https://tools.periskope.app"}]},"title":"Update Task - Periskope Docs","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Bbp7I60D.js","utils-C3RIvJha.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DqD-vLt8.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B31Loprg.js","snippetPresets-DKpk-b8t.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Cj65AhOR.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BXtn5gcC.js","shallow-RY2b03Cp.js","getApiPlaygroundDisplay-B0jeiPk3.js","CodeSnippet-CYgBjjwn.js","CodeSnippets-DOngDrYB.js","Page-n7I5XbKb.js","getPastedJson-DRQbJx-T.js","icon-CQiQCicY.js","MethodPill-BKTLdNtu.js","DuplicateIcon-B9jpAdat.js","createIcon-DCddRrXv.js","DynamicMarkdown-a8hUKrw6.js","SectionHeading-eECVV2eH.js","axios-vUo_bRtp.js","Markdown--GF7ZIpf.js","clsx-DZLdJUrt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-2LoAhjKH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Zwc0ZncM.js"]}