TeamGriddeveloper
TeamGrid Developer

tasks SDK client

14 typed @teamgrid/api-client methods for Tasks, plus 1 convenience helper.

Client propertyclient.tasks
Mapped operations14
API groupsTasks

Operation methods

Parameter declarations below are taken from the pinned TypeScript source. Request fields and responses are summarized from the matching OpenAPI operation; follow the API link for every field, constraint, example, and error description.

GET/tasks
Full API operation →

tasks.list

Use this operation to list tasks. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.

client.tasks.list(options: TaskListOptions = {})
Return form
Promise
Operation ID
listTasks
Required scopes
tasks:read
SDK parameters
options: TaskListOptions
Query request fields
cursor?: stringlimit?: integerarchived?: booleanassigneeId?: stringcompleted?: booleancontactId?: stringgroupId?: stringlistId?: stringpersonalListId?: stringprojectId?: stringserviceId?: stringsubscriberId?: stringtagId?: string
Success
200 Array<Task> envelope
Declared API errors
400401403429503
POST/tasks/bulk-update
Full API operation →

tasks.bulkUpdate

Updates up to 35 tasks in input order. Every item is independently protected by its latest developer revision. The operation is not atomic: successful items remain committed when another item conflicts. Placement, assignment, lifecycle, and ordering changes use their dedicated endpoints.

client.tasks.bulkUpdate(data: TaskBulkUpdate, options?: RequestOptions)
Return form
Promise
Operation ID
bulkUpdateTasks
Required scopes
tasks:write
SDK parameters
data: TaskBulkUpdateoptions: RequestOptions
Request body
TaskBulkUpdateapplication/json
Success
200 TaskBulkUpdateEnvelope
Declared API errors
400401403429502503
POST/tasks
Full API operation →

tasks.create

Use this operation to create a task. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.

client.tasks.create(data: TaskCreate, options?: MutationOptions)
Return form
Promise
Operation ID
createTask
Required scopes
tasks:write
SDK parameters
data: TaskCreateoptions: MutationOptions
Header request fields
Idempotency-Key: string
Request body
TaskCreateapplication/json
Success
200 Task envelope201 Task envelope
Declared API errors
400401403409429502503
GET/tasks/{id}
Full API operation →

tasks.get

Use this operation to get a task. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.

client.tasks.get(id: string, options?: RequestOptions)
Return form
Promise
Operation ID
getTask
Required scopes
tasks:read
SDK parameters
id: stringoptions: RequestOptions
Path request fields
id: string
Success
200 Task envelope
Declared API errors
400401403404429503
PATCH/tasks/{id}
Full API operation →

tasks.update

Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.

client.tasks.update(id: string, data: TaskUpdate, options: TaskMutationOptions)
Return form
Promise
Operation ID
updateTask
Required scopes
tasks:write
SDK parameters
id: stringdata: TaskUpdateoptions: TaskMutationOptions
Path request fields
id: string
Header request fields
If-Match: string
Request body
TaskUpdateapplication/json
Success
200 Task envelope
POST/tasks/{id}/duplicate
Full API operation →

tasks.duplicate

Creates an idempotent copy from exactly the source revision selected by If-Match. The copy remains in the same workspace context and may be moved separately.

client.tasks.duplicate(id: string, data: TaskDuplicate, options: TaskDuplicateOptions)
Return form
Promise
Operation ID
duplicateTask
Required scopes
tasks:readtasks:write
SDK parameters
id: stringdata: TaskDuplicateoptions: TaskDuplicateOptions
Path request fields
id: string
Header request fields
If-Match: stringIdempotency-Key: string
Request body
TaskDuplicateapplication/json
Success
200 Task envelope201 Task envelope
POST/tasks/{id}/move
Full API operation →

tasks.move

Atomically changes assignment and ordering within one target task container. The neighboring task ids are validated in the same workspace and container.

client.tasks.move(id: string, data: TaskPlacement, options: TaskMutationOptions)
Return form
Promise
Operation ID
moveTask
Required scopes
tasks:write
SDK parameters
id: stringdata: TaskPlacementoptions: TaskMutationOptions
Path request fields
id: string
Header request fields
If-Match: string
Request body
TaskPlacementapplication/json
Success
200 Task envelope
PUT/tasks/{id}/subtasks
Full API operation →

tasks.replaceSubtasks

Atomically replaces the ordered task checklist. Existing ids may be retained; omitted ids are generated by TeamGrid.

client.tasks.replaceSubtasks(id: string, data: TaskSubtasksReplace, options: TaskMutationOptions)
Return form
Promise
Operation ID
replaceTaskSubtasks
Required scopes
tasks:write
SDK parameters
id: stringdata: TaskSubtasksReplaceoptions: TaskMutationOptions
Path request fields
id: string
Header request fields
If-Match: string
Request body
TaskSubtasksReplaceapplication/json
Success
200 Task envelope
DELETE/tasks/{id}
Full API operation →

tasks.archive

Requires exactly one latest strong resource ETag and returns the post-archive revision in the ETag header.

client.tasks.archive(id: string, options: TaskMutationOptions)
Return form
Promise
Operation ID
archiveTask
Required scopes
tasks:write
SDK parameters
id: stringoptions: TaskMutationOptions
Path request fields
id: string
Header request fields
If-Match: string
Success
204
POST/tasks/{id}/restore
Full API operation →

tasks.restore

Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.

client.tasks.restore(id: string, options: TaskMutationOptions)
Return form
Promise
Operation ID
restoreTask
Required scopes
tasks:write
SDK parameters
id: stringoptions: TaskMutationOptions
Path request fields
id: string
Header request fields
If-Match: string
Success
200 Task envelope
POST/tasks/{id}/complete
Full API operation →

tasks.complete

Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.

client.tasks.complete(id: string, options: TaskMutationOptions)
Return form
Promise
Operation ID
completeTask
Required scopes
tasks:write
SDK parameters
id: stringoptions: TaskMutationOptions
Path request fields
id: string
Header request fields
If-Match: string
Success
200 Task envelope
POST/tasks/{id}/reopen
Full API operation →

tasks.reopen

Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.

client.tasks.reopen(id: string, options: TaskMutationOptions)
Return form
Promise
Operation ID
reopenTask
Required scopes
tasks:write
SDK parameters
id: stringoptions: TaskMutationOptions
Path request fields
id: string
Header request fields
If-Match: string
Success
200 Task envelope
POST/tasks/{id}/timer/start
Full API operation →

tasks.startTimer

Use this operation to start task time tracking. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.

client.tasks.startTimer(id: string, data: TimerAction, options?: RequestOptions)
Return form
Promise
Operation ID
startTaskTimer
Required scopes
tasks:writetime-entries:write
SDK parameters
id: stringdata: TimerActionoptions: RequestOptions
Path request fields
id: string
Request body
TimerActionapplication/json
Success
200 TimeEntry envelope
Declared API errors
400401403404409429502503
POST/tasks/{id}/timer/stop
Full API operation →

tasks.stopTimer

Use this operation to stop task time tracking. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.

client.tasks.stopTimer(id: string, data: TimerAction, options?: RequestOptions)
Return form
Promise
Operation ID
stopTaskTimer
Required scopes
tasks:writetime-entries:write
SDK parameters
id: stringdata: TimerActionoptions: RequestOptions
Path request fields
id: string
Request body
TimerActionapplication/json
Success
200 TimeEntry envelope
Declared API errors
400401403404409429502503

Convenience helpers

These typed helpers compose mapped operations. They do not grant scopes or bypass API limits.

tasks.pages

Iterate cursor pages with a bounded PaginationOptions policy.

client.tasks.pages(options?: TaskListOptions, pagination?: PaginationOptions)
Returns AsyncGenerator

Errors and transport metadata

HTTP failures reject with TeamGridApiError, including the status, stable error documents, request ID, optional retry delay, and transport metadata. Local validation, routing, timeout, response-size, and pagination failures reject withTeamGridClientError and a stable client error code. Successful envelopes expose non-enumerable transport metadata.

See pagination and errors andclient configuration for handling guidance.

Stable documentation · Developer Platform · Reviewed 2026-08-10Edit this page ↗
Documentation feedbackWas this page useful?
Esc

Search TeamGrid Developer

Find guides, concepts and every API operation.