Zum Inhalt
Für Agenten

task_save

Create or Update Task

Markdown Tools als JSON

Beschreibung

Linear-style upsert. Pass id (prefix or KEY-N) to update, omit it to create. On create the workspace is required (omit when updating). Description accepts Markdown and is converted to Tiptap JSON for storage; readers get Markdown back via task_get so the round-trip is symmetric.

Zugriff

Zugriffsprofil: gated. Module: projects_tasks. Die Freigabe im Profil ersetzt keine Account-, Workspace- oder Rollenberechtigung.

Parameter

Name Typ Pflicht Beschreibung
account_id string Ja
idempotency_key string Nein Stable unique key for this intended task. Reuse on retries. Required when delegating from a task session; creates a subscription that resumes your coordinating task.
id string Nein Task prefix ID or KEY-N. Omit to create.
workspace_id string Nein Workspace prefix ID or key. Required on create.
project_id string / null Nein Project prefix ID (proj_…) or slug. Pass null to detach the task from its project.
cycle_id string / null Nein Cycle prefix ID (cyc_…). Cycle must belong to the same workspace as the task; pass null to detach.
pinned_to_cycle boolean Nein ENG-1094. When true, the task stays on its current cycle when that cycle closes (excluded from carry-over).
parent_task_id string / null Nein Parent task prefix ID (task_…) or KEY-N. Pass null to make this a top-level task.
title string Nein
description_markdown string / null Nein
status string Nein TaskStatus name or symbolic key.
priority string Nein
assignee string / null Nein User prefix or @handle. 'none' clears.
start_on string / null Nein ISO date YYYY-MM-DD or null to clear. Optional, must be on or before due_on when both are set.
due_on string / null Nein ISO date YYYY-MM-DD or null to clear.
start_at string / null Nein ISO 8601 timestamp with UTC offset. Sets start_on in time_zone. Null removes only the time. Automatic agent work waits until this instant.
due_at string / null Nein ISO 8601 timestamp with UTC offset. Sets due_on in time_zone. Null removes only the time.
time_zone string Nein Task time zone, e.g. Europe/Berlin. Defaults to the creator's time zone.
estimate_points integer / null Nein
labels array Nein List of label names or prefix IDs.
attachment_ids array Nein Attachment handles from attachment_upload — att_… ids or file_urls. Files appear in the task's attachments list. Existing attachments are kept; pass an empty array to add nothing new (use the web UI to remove).

Eingabeschema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "account_id": {
      "type": "string"
    },
    "idempotency_key": {
      "type": "string",
      "description": "Stable unique key for this intended task. Reuse on retries. Required when delegating from a task session; creates a subscription that resumes your coordinating task."
    },
    "id": {
      "type": "string",
      "description": "Task prefix ID or KEY-N. Omit to create."
    },
    "workspace_id": {
      "type": "string",
      "description": "Workspace prefix ID or key. Required on create."
    },
    "project_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "Project prefix ID (proj_…) or slug. Pass null to detach the task from its project."
    },
    "cycle_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "Cycle prefix ID (cyc_…). Cycle must belong to the same workspace as the task; pass null to detach."
    },
    "pinned_to_cycle": {
      "type": "boolean",
      "description": "ENG-1094. When true, the task stays on its current cycle when that cycle closes (excluded from carry-over)."
    },
    "parent_task_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "Parent task prefix ID (task_…) or KEY-N. Pass null to make this a top-level task."
    },
    "title": {
      "type": "string"
    },
    "description_markdown": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "type": "string",
      "description": "TaskStatus name or symbolic key."
    },
    "priority": {
      "type": "string"
    },
    "assignee": {
      "type": [
        "string",
        "null"
      ],
      "description": "User prefix or @handle. 'none' clears."
    },
    "start_on": {
      "type": [
        "string",
        "null"
      ],
      "description": "ISO date YYYY-MM-DD or null to clear. Optional, must be on or before due_on when both are set."
    },
    "due_on": {
      "type": [
        "string",
        "null"
      ],
      "description": "ISO date YYYY-MM-DD or null to clear."
    },
    "start_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "ISO 8601 timestamp with UTC offset. Sets start_on in time_zone. Null removes only the time. Automatic agent work waits until this instant."
    },
    "due_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "ISO 8601 timestamp with UTC offset. Sets due_on in time_zone. Null removes only the time."
    },
    "time_zone": {
      "type": "string",
      "description": "Task time zone, e.g. Europe/Berlin. Defaults to the creator's time zone."
    },
    "estimate_points": {
      "type": [
        "integer",
        "null"
      ]
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of label names or prefix IDs."
    },
    "attachment_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Attachment handles from `attachment_upload` — att_… ids or file_urls. Files appear in the task's attachments list. Existing attachments are kept; pass an empty array to add nothing new (use the web UI to remove)."
    }
  },
  "required": [
    "account_id"
  ],
  "type": "object"
}

Ausgabeschema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "task": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "key",
        "title"
      ]
    }
  },
  "required": [
    "task"
  ],
  "type": "object"
}
Seiten