Skip to main content
PUT
Create or update a task by external id

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme

Headers

If-Match
integer

Optional task version. A mismatch returns 409 version_conflict; a non-integer returns 400 bad_if_match. 0 matches a legacy task with no version.

Required range: x >= 0

Path Parameters

space_id
string
required

Space id. Case-insensitive; canonical form is upper case.

external_id
string
required

Caller's id, at most 256 bytes of UTF-8, any characters except / (400 invalid_request). Percent-encode it; an encoded / never reaches the service because the gateway decodes it before routing.

Maximum string length: 256

Body

application/json

Task fields. On the upsert route, space_id and external_id come from the path and any body value is ignored.

title
string
description
string
assignees
string[]
attachments
string[]
priority
string
folder
string
reporter
string
status
string

A status id of the space.

space_id
string
due_date
string<date-time>
scheduled_at
string<date-time>
order
number
archived
boolean
metadata
object
tags
string[]
time_tracking
object
parent
string
source
string
source_detail
string
value
number
currency
string
expected_close
string
external_id
string

Caller's id, at most 256 bytes of UTF-8.

Maximum string length: 256
suppress_events
boolean

Hides the write from flow task triggers. The changes feed and webhooks still see it.

Response

Updated.

id
string
read-only
url
string
read-only

UI URL to navigate directly to this task

title
string
description
string

Markdown / rich-text content

assignees
string[] | null

Assigned user IDs.

attachments
string[] | null
created_at
string<date-time>
read-only
updated_at
string<date-time>
read-only
created_by
string
read-only
priority
string
folder
string
reporter
string
status
string

A status id of the space.

space_id
string
due_date
string<date-time>
scheduled_at
string<date-time>

RFC3339 date-time at which the task is scheduled. Archiving the task clears it.

archived
boolean

Whether the task is archived.

order
number

Sort order of the task within its column/board.

tags
string[]

Free-form tag ids on the task.

metadata
object

Arbitrary metadata bag stored on the task.

watchers
string[]
read-only

User ids watching the task. Only present on the get-task response, not stored on the task record.

muted
string[]
read-only

User ids who muted the task. Only present on the get-task response.

parent
string

Id of the parent task, when this is a subtask. Setting it needs read access to the parent's space.

source
string
source_detail
string
value
number
currency
string
expected_close
string
time_tracking
object
version
integer
read-only

1 on create, +1 on every task write. Comments, time logs and activity stamps never bump it.

sync_key
string
read-only

Set when the task is shared with a connected account. Its version then belongs to that shared lineage.

sync_conflict
object
read-only

Present when an incoming change from a connected account conflicted with a local edit.

external_id
string

Your own id for the task, at most 256 bytes of UTF-8.

Maximum string length: 256
activity_at
string<date-time>
read-only

Moves on task, comment, time-log and action writes.

subtasks
object[]
read-only

Present on list and get responses.

task_actions
object[]
read-only
implementation_date
string

Estimated go-live date, ISO. Stored only; nothing schedules on it.

assigned_qa
string

User id, offered from the Space's assigned QA users. Not validated against them.