---
title: "Update Task by ID"
method: PATCH
path: "/tasks/{id}"
tags: ["Tasks"]
---

# Update Task by ID

`PATCH /tasks/{id}`

Update an item by ID with (partial update)

## Path parameters

- `id` string, objectid, required — The ID of the item to update

## Request body

- UpdateTaskByIdInput
  - `data` ModelsTask, required — The data to update
    - `_id` string, objectid — ID
    - `cmd` string — Command
    - `created_at` string, date-time — Created timestamp
    - `created_by` string, objectid — Created by
    - `error` string — Error
    - `mode` string — Mode
    - `node` ModelsNode — The data to update
      - `_id` string, objectid — ID
      - `active` boolean — Active
      - `active_at` string, date-time — Active at
      - `created_at` string, date-time — Created timestamp
      - `created_by` string, objectid — Created by
      - `current_runners` integer — Current runners
      - `description` string — Description
      - `enabled` boolean — Enabled
      - `hostname` string — Hostname
      - `ip` string — IP
      - `is_master` boolean — Is master
      - `key` string — Type
      - `mac` string — MAC
      - `max_runners` integer — Max runners
      - `name` string — Name
      - `status` string — Status
      - `updated_at` string, date-time — Updated timestamp
      - `updated_by` string, objectid — Updated by
    - `node_group_ids` string[]
    - `node_id` string, objectid — Node ID
    - `node_ids` string[]
    - `param` string — Parameter
    - `pid` integer — Process ID
    - `priority` integer — Priority
    - `schedule` ModelsSchedule — The data to update
      - `_id` string, objectid — ID
      - `cmd` string — Cmd
      - `created_at` string, date-time — Created timestamp
      - `created_by` string, objectid — Created by
      - `cron` string — Cron
      - `description` string — Description
      - `enabled` boolean — Enabled
      - `entry_id` integer — Entry ID
      - `execution_strategy` string — Execution Strategy
      - `mode` string — Mode
      - `name` string — Name
      - `node_group_ids` string[] — Node Group IDs
      - `node_ids` string[] — Node IDs
      - `param` string — Param
      - `priority` integer — Priority
      - `spider` ModelsSpider — The spider data to create
        - `_id` string, objectid — ID
        - `cmd` string — Execute command
        - `col_id` string, objectid — Data collection id
        - `col_name` string — Data collection name
        - `created_at` string, date-time — Created timestamp
        - `created_by` string, objectid — Created by
        - `database_id` string, objectid — Database Id
        - `db_name` string — Database name
        - `description` string — Description
        - `git_id` string, objectid — Related Git ID
        - `git_root_path` string — Git root path
        - `mode` 'random' | 'all' | 'selected-nodes' — Default task mode
        - `name` string — Spider name
        - `node_group_ids` string[] — Default node group ids, used in selected-node-groups mode
        - `node_ids` string[] — Default node ids, used in selected-nodes mode
        - `param` string — Default task param
        - `priority` integer — Priority
        - `project_id` string, objectid — Project ID
        - `template` string — Spider template
        - `template_params` ModelsSpiderTemplateParams — Spider template params
          - `allowed_domains` string — Allowed domains
          - `project_name` string — Project name
          - `spider_name` string — Spider name
          - `start_urls` string — Start urls
        - `updated_at` string, date-time — Updated timestamp
        - `updated_by` string, objectid — Updated by
      - `spider_id` string, objectid — Spider ID
      - `updated_at` string, date-time — Updated timestamp
      - `updated_by` string, objectid — Updated by
    - `schedule_id` string, objectid — Schedule ID
    - `spider` ModelsSpider — The spider data to create
      - `_id` string, objectid — ID
      - `cmd` string — Execute command
      - `col_id` string, objectid — Data collection id
      - `col_name` string — Data collection name
      - `created_at` string, date-time — Created timestamp
      - `created_by` string, objectid — Created by
      - `database_id` string, objectid — Database Id
      - `db_name` string — Database name
      - `description` string — Description
      - `git_id` string, objectid — Related Git ID
      - `git_root_path` string — Git root path
      - `mode` 'random' | 'all' | 'selected-nodes' — Default task mode
      - `name` string — Spider name
      - `node_group_ids` string[] — Default node group ids, used in selected-node-groups mode
      - `node_ids` string[] — Default node ids, used in selected-nodes mode
      - `param` string — Default task param
      - `priority` integer — Priority
      - `project_id` string, objectid — Project ID
      - `template` string — Spider template
      - `template_params` ModelsSpiderTemplateParams — Spider template params
        - `allowed_domains` string — Allowed domains
        - `project_name` string — Project name
        - `spider_name` string — Spider name
        - `start_urls` string — Start urls
      - `updated_at` string, date-time — Updated timestamp
      - `updated_by` string, objectid — Updated by
    - `spider_id` string, objectid — Spider ID
    - `stat` ModelsTaskStat
      - `_id` string, objectid — ID
      - `created_at` string, date-time — Created timestamp
      - `created_by` string, objectid — Created by
      - `ended_at` string, date-time — End time
      - `result_count` integer — Result count
      - `runtime_duration` integer — Runtime duration (in millisecond)
      - `started_at` string, date-time — Start time
      - `total_duration` integer — Total duration (in millisecond)
      - `updated_at` string, date-time — Updated timestamp
      - `updated_by` string, objectid — Updated by
      - `wait_duration` integer — Wait duration (in millisecond)
    - `status` string — Status: pending, assigned, running, finished, error, cancelled, abnormal.
    - `updated_at` string, date-time — Updated timestamp
    - `updated_by` string, objectid — Updated by

## Response `200`

OK

- ControllersResponseGithubModelsTask
  - `data` ModelsTask — The data to update
    - `_id` string, objectid — ID
    - `cmd` string — Command
    - `created_at` string, date-time — Created timestamp
    - `created_by` string, objectid — Created by
    - `error` string — Error
    - `mode` string — Mode
    - `node` ModelsNode — The data to update
      - `_id` string, objectid — ID
      - `active` boolean — Active
      - `active_at` string, date-time — Active at
      - `created_at` string, date-time — Created timestamp
      - `created_by` string, objectid — Created by
      - `current_runners` integer — Current runners
      - `description` string — Description
      - `enabled` boolean — Enabled
      - `hostname` string — Hostname
      - `ip` string — IP
      - `is_master` boolean — Is master
      - `key` string — Type
      - `mac` string — MAC
      - `max_runners` integer — Max runners
      - `name` string — Name
      - `status` string — Status
      - `updated_at` string, date-time — Updated timestamp
      - `updated_by` string, objectid — Updated by
    - `node_group_ids` string[]
    - `node_id` string, objectid — Node ID
    - `node_ids` string[]
    - `param` string — Parameter
    - `pid` integer — Process ID
    - `priority` integer — Priority
    - `schedule` ModelsSchedule — The data to update
      - `_id` string, objectid — ID
      - `cmd` string — Cmd
      - `created_at` string, date-time — Created timestamp
      - `created_by` string, objectid — Created by
      - `cron` string — Cron
      - `description` string — Description
      - `enabled` boolean — Enabled
      - `entry_id` integer — Entry ID
      - `execution_strategy` string — Execution Strategy
      - `mode` string — Mode
      - `name` string — Name
      - `node_group_ids` string[] — Node Group IDs
      - `node_ids` string[] — Node IDs
      - `param` string — Param
      - `priority` integer — Priority
      - `spider` ModelsSpider — The spider data to create
        - `_id` string, objectid — ID
        - `cmd` string — Execute command
        - `col_id` string, objectid — Data collection id
        - `col_name` string — Data collection name
        - `created_at` string, date-time — Created timestamp
        - `created_by` string, objectid — Created by
        - `database_id` string, objectid — Database Id
        - `db_name` string — Database name
        - `description` string — Description
        - `git_id` string, objectid — Related Git ID
        - `git_root_path` string — Git root path
        - `mode` 'random' | 'all' | 'selected-nodes' — Default task mode
        - `name` string — Spider name
        - `node_group_ids` string[] — Default node group ids, used in selected-node-groups mode
        - `node_ids` string[] — Default node ids, used in selected-nodes mode
        - `param` string — Default task param
        - `priority` integer — Priority
        - `project_id` string, objectid — Project ID
        - `template` string — Spider template
        - `template_params` ModelsSpiderTemplateParams — Spider template params
          - `allowed_domains` string — Allowed domains
          - `project_name` string — Project name
          - `spider_name` string — Spider name
          - `start_urls` string — Start urls
        - `updated_at` string, date-time — Updated timestamp
        - `updated_by` string, objectid — Updated by
      - `spider_id` string, objectid — Spider ID
      - `updated_at` string, date-time — Updated timestamp
      - `updated_by` string, objectid — Updated by
    - `schedule_id` string, objectid — Schedule ID
    - `spider` ModelsSpider — The spider data to create
      - `_id` string, objectid — ID
      - `cmd` string — Execute command
      - `col_id` string, objectid — Data collection id
      - `col_name` string — Data collection name
      - `created_at` string, date-time — Created timestamp
      - `created_by` string, objectid — Created by
      - `database_id` string, objectid — Database Id
      - `db_name` string — Database name
      - `description` string — Description
      - `git_id` string, objectid — Related Git ID
      - `git_root_path` string — Git root path
      - `mode` 'random' | 'all' | 'selected-nodes' — Default task mode
      - `name` string — Spider name
      - `node_group_ids` string[] — Default node group ids, used in selected-node-groups mode
      - `node_ids` string[] — Default node ids, used in selected-nodes mode
      - `param` string — Default task param
      - `priority` integer — Priority
      - `project_id` string, objectid — Project ID
      - `template` string — Spider template
      - `template_params` ModelsSpiderTemplateParams — Spider template params
        - `allowed_domains` string — Allowed domains
        - `project_name` string — Project name
        - `spider_name` string — Spider name
        - `start_urls` string — Start urls
      - `updated_at` string, date-time — Updated timestamp
      - `updated_by` string, objectid — Updated by
    - `spider_id` string, objectid — Spider ID
    - `stat` ModelsTaskStat
      - `_id` string, objectid — ID
      - `created_at` string, date-time — Created timestamp
      - `created_by` string, objectid — Created by
      - `ended_at` string, date-time — End time
      - `result_count` integer — Result count
      - `runtime_duration` integer — Runtime duration (in millisecond)
      - `started_at` string, date-time — Start time
      - `total_duration` integer — Total duration (in millisecond)
      - `updated_at` string, date-time — Updated timestamp
      - `updated_by` string, objectid — Updated by
      - `wait_duration` integer — Wait duration (in millisecond)
    - `status` string — Status: pending, assigned, running, finished, error, cancelled, abnormal.
    - `updated_at` string, date-time — Updated timestamp
    - `updated_by` string, objectid — Updated by
  - `error` string
  - `message` string
  - `status` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `500` — Internal Server Error

---

[API](https://skmtc.net/crawlab-team/apis/crawlab-api.md) · [All operations](https://skmtc.net/crawlab-team/apis/crawlab-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/crawlab-team/crawlab-api/revisions/c7a4715c1f13/schema)
