New Your team’s decisions, in one playbook every coding agent works from. Never answer your agent twice

updateTask

Update a task, or many tasks in one call. A task is the same kind of record as an improvement (one with is_task=true), so this is a thin alias over updateImprovement: every field on updateImprovement is supported, including checklist, acceptance_criteria, dates, owner, percent_complete, parentIte...

SERVERStable Baseline SOURCEhttps://api.stablebaseline.io/functions/v1/cloud-serve/mcp
Medium RISK CLASS
Category Write
Parameters 120 required
Recommended Rate-limitedsee the rule below
Registry record Grade F, identity unverified Pull the record →

This record as markdown: /tools/io-stablebaseline-sb/updatetask.md

What updateTask does on Stable Baseline

AI agents use updateTask to create or update resources in Stable Baseline, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Stable Baseline environment.

ParameterTypeRequiredDescription
type string — Changing the type converts the task and its id takes the new type's prefix, keeping its number (TAS-12 becomes STY-12 as a user_story): the answer's note then g
items array — Optional bulk form: update up to 200 tasks in one call, each entry { taskId, versionTimestamp, ...the fields to change } with the same fields as a single call.
title string —
fields array — Optional. Answer with only these fields instead of the whole task, for example ["id", "versionTimestamp"]. Any of the task's own fields (snake_case or camelCase
planId string — Optional. Narrows a friendly-id lookup (such as TAS-55) to one plan, given as the plan's UUID or friendly id (such as PLN-3): the task must be in that plan. It
status string —
taskId string — Required unless you send items. The task's UUID or friendly id (such as TAS-55).
plan_id string — Link to plan. Null to unlink.
urgency string —
why_now string —
end_date string — YYYY-MM-DD.
metadata object — Free-form JSON. MERGES into the stored object key by key: keys you don't send are left alone, and sending a key with value null deletes it. Send metadata_replac

Parameters from the server's own tool schema.

Why updateTask is rated Medium

An AI agent can call updateTask faster than any human can review: one bad instruction and it creates or modifies resources in Stable Baseline by the hundred, each call as confident as the last.

Risk signalsHigh parameter count (144 properties) · Bulk/mass operation — affects multiple targets

Questions about updateTask

What does the updateTask tool do? +

Update a task, or many tasks in one call. A task is the same kind of record as an improvement (one with is_task=true), so this is a thin alias over updateImprovement: every field on updateImprovement is supported, including checklist, acceptance_criteria, dates, owner, percent_complete, parentItemId (the story or requirement it belongs to in the work hierarchy), linkedRecords (the database rows it links: a list replaces them, { add, remove } changes some), etc. versionTimestamp (optimistic locking) is the task's updated_at in epoch milliseconds, and you rarely need a getTask call for it: listTasks and getPlan (items[].versionTimestamp) return it for every task in a plan at once, and every write returns the task's new one. Pass fields (for example ["id", "versionTimestamp"]) for a short answer instead of the whole task. To change many tasks (a plan-wide re-date, say), send items: up to 200 entries of { taskId, versionTimestamp, ...changes } per call (more than 200: split them into several calls of up to 200), each checked and written on its own and answered with one row per entry plus a summary. Statuses are captured / in_progress / blocked / done / rejected / deferred, and FOUR of those are CLOSED: blocked, done, rejected, deferred. Entering one needs its comment (blocked_comment / rejection_comment / completion_comment); leaving one for an open status needs reopened_comment, including blocked -> in_progress, which surprises people because blocked does not sound terminal. metadata MERGES into what is stored (null on a key deletes it); pass metadata_replace:true to overwrite the object wholesale. To edit checklist items: call getTask, modify the checklist array (preserving each row's id to keep its attribution stamps), and pass the full array back here; array order is the sort order. Assignment: pass owner_id=<uuid> to assign to a user, owner_team_id=<uuid> to assign to a team (mutually exclusive: a task has one owner, a user or a team, never both). To unassign, pass owner_id=null AND owner_team_id=null. To switch owner kind, send the new value AND null the old one in the SAME call. It is categorised as a Write tool in the Stable Baseline MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

What parameters does updateTask accept? +

updateTask accepts 12 parameters: type, items, title, fields, planId, status, taskId, plan_id, urgency, why_now, end_date, metadata. The full parameter table on this page comes from the server's own tool schema.

How do I enforce a policy on updateTask? +

Register the Stable Baseline MCP server in PolicyLayer and add a rule for updateTask: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Stable Baseline. Nothing to install.

What risk level is updateTask? +

updateTask is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit updateTask? +

Yes. Add a rate_limit block to the updateTask rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block updateTask completely? +

Set action: deny in the PolicyLayer policy for updateTask. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides updateTask? +

updateTask is provided by the Stable Baseline MCP server (https://api.stablebaseline.io/functions/v1/cloud-serve/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

More on Stable Baseline, and thousands of servers like it.

Across the catalogue

// THE MCP REGISTRY

PolicyLayer tracks 44,603 MCP servers and 515,000+ tools.

Every server has a live record: who publishes it, whether it answers without auth, its risk grade, every tool classified, the recommended policy. This page is one line of Stable Baseline's. Pull the full record:

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.