Tasks

Get task details

Get a single task by ID.

get/v2/tasks/{taskId}

Request

Path parameters

taskIdstring uuid required

The task ID

Headers

X-Signaturestring
Example:a3d5f8e7c2b1d4f6a8e9c7b5d3f1a2e4b6c8d0f2e4a6b8c0d2e4f6a8b0c2d4e6

HMAC signature of the request for authentication and replay protection.

Required only when authenticating with a static API key. If you are using an OAuth access token (issued by POST /oauth/token), omit this header — the JWT carries all the authentication and integrity guarantees.

Replay Protection: The signature includes a timestamp to prevent replay attacks. Requests with timestamps older than 5 minutes are rejected.

The signature payload differs by HTTP method:

  • POST/PUT/PATCH/DELETE: HMAC-SHA256 of {timestamp}.{body}
  • GET: HMAC-SHA256 of {timestamp}.{uri}

The signature is calculated as:

  1. Get the current Unix timestamp in milliseconds
  2. Determine the payload:
    • For POST/PUT/PATCH/DELETE: Use {timestamp}.{body} where body is the request body
    • For GET: Use {timestamp}.{uri} where uri is the full request URI (e.g., /v2/members?limit=10)
  3. Calculate HMAC-SHA256 of the combined payload using your API secret
  4. Hex-encode the output
  5. Include the timestamp in the X-Timestamp header

Example for GET request to /v2/members?limit=10:

timestamp = 1699564800000
payload = "1699564800000./v2/members?limit=10"
signature = HMAC-SHA256(secret, payload)
X-Signature: hex(signature)
X-Timestamp: 1699564800000

Example for POST request with body {"topicId":"123","text":"Hello"}:

timestamp = 1699564800000
payload = '1699564800000.{"topicId":"123","text":"Hello"}'
signature = HMAC-SHA256(secret, payload)
X-Signature: hex(signature)
X-Timestamp: 1699564800000

For multipart/form-data requests, sign the exact raw request body bytes (including boundaries and file bytes) as transmitted.

X-Timestampinteger
Example:1699564800000

Unix timestamp in milliseconds when the request was created. Used for replay protection — requests older than 5 minutes are rejected.

Required only when authenticating with a static API key. Omit when using an OAuth access token.

Response

Task retrieved successfully

idstring uuid

Task ID

topicIdstring uuid

Topic ID the task belongs to

titlestring

Task title

descriptionstring

Task description

status'Open' | 'Done'

Task status

assigneestring

Assignee profile ID (empty if unassigned)

dueDateinteger

Due date as Unix timestamp in milliseconds (0 if not set)

isDueDateTimeSelectedboolean

Whether due date includes time

indexnumber double

Internal task ordering index

createdAtinteger

Task creation timestamp (ms)

updatedAtinteger

Task last update timestamp (ms)

Example response

{
  "id": "880e8400-e29b-41d4-a716-446655440003",
  "topicId": "550e8400-e29b-41d4-a716-446655440000",
  "title": "Review documentation",
  "description": "Review and update all API documentation",
  "status": "Open",
  "assignee": "550e8400-e29b-41d4-a716-446655440001",
  "dueDate": 1699564800000,
  "index": 1000000,
  "createdAt": 1699564800000,
  "updatedAt": 1699564801000
}

Changes

No recorded changes to this operation across all 1 revision of this API.