MCP

Tool catalog

Every MCP tool, grouped by DigitalStack capability. Each is labeled by whether its full path works today — no tool is shown as available unless you can actually run it.

115 available now · 3 coming to MCP. Planned tools are registered in the gateway but their underlying capability isn't live over the supported MCP interface yet.

Context & search

Ask a question, get an evidence-backed answer across your workspace.

DigitalStack help

digitalstack_help

Show what DigitalStack can do inside an MCP client: a capability guide and live status console covering version, connected modules, the kinds of questions that can be asked, example prompts by role, and what is coming next. Makes NO DigitalStack API call and returns no customer data, so it is safe to call at any time and needs no scope. For an actual answer about a customer or project, use query_context.

Available
Input
No arguments.
Output
Capability guide and status console: version, connected modules, answerable question kinds, example prompts by role, and upcoming capabilities.

Try this

What can I do with DigitalStack in here?

Query context (flagship)

query_context

Ask a question and receive an evidence-backed Operational Delivery Brief assembled live from Project Health and Project Risk authorities. Project IDs target one project; engagement IDs compose caller-visible projects; no ID means portfolio scope. Read-only. It does NOT retrieve uploaded documents, transcripts, decisions, assumptions, or requirements, and performs no semantic search.

Available
Scope
agent:read (required)
Input
A question plus a preferred project_id, engagement_id, or customer_id for deterministic targeting. Omit IDs only for portfolio questions; subject/focus remain conversational fallbacks.
Output
A brief: summary, findings, risks, blockers, evidence, provenance. `provenance.generated_at` is assembly time; `freshness` reports source data-age (currently `unknown` — the operational adapters expose no observation timestamp); `truncation` is present only when a bounded collection was capped.

Try this

Which of my projects are currently at risk, and why?

Search context evidence

search_context

Search the Engagement Knowledge Corpus: ranked full-text retrieval of evidence spans from ingested Context Sources bound to an authorized project or engagement. Returns exact passages with provenance (source, page/paragraph/section, provenance quality, timestamps) — evidence, not a synthesized answer. It does NOT return project health or risks, does NOT synthesize decisions, and performs NO semantic/vector search (PostgreSQL full-text only). Project queries search directly-bound sources; engagement queries fan out to caller-visible child projects (direct engagement-bound sources are not yet supported). Read-only. This is the legacy Knowledge-only tool; for cross-domain Context Platform search across evidence, adopted definitions, and decisions in one call, use the platform-native search_unified_context tool.

Available
Scope
context-engine:read (required)
Input
subject_ref { type: project|engagement, id } plus query, and optional include_parent_context, include_child_projects, source_types, occurred_after, occurred_before, limit, cursor.
Output
Ranked evidence spans (span text, source title/id, project binding, direct|child_project origin, page/paragraph/section, provenance quality, source timestamps, content/segmentation versions), plus explicit scope states, freshness, coverage, truncation, and a keyset continuation cursor.
Related REST
View endpoint

Try this

Search this project’s context for “Shopify Tax”.

Search unified context

search_unified_context

Cross-domain Context Platform search over the authorization-safe router. Searchable providers are Knowledge, Adoption, Decisions, Context Opportunities, and derived Context Concepts. Opportunity is advisory and included in the router’s bounded default; Concept is advisory, project-scoped, derived on read, and must be requested explicitly. Delivery, commitment snapshots, and relationships do not support search. Results include per-provider status, item authority, freshness, coverage, limitations, partial failure, and an opaque continuation cursor. Provider-local ordering; no global relevance score. Read-only.

Available
Scope
context-engine:read (required)
Input
subject { type, id } plus query, and optional domains (knowledge|adoption|decision|opportunity|concept), kinds, include_evidence, occurred_after, occurred_before, limit, cursor. Omitted domains use the router’s bounded knowledge + delivery + decision + opportunity default; concept is never implicit.
Output
The unified envelope: subject, operation, outcome, per-provider status, results with kind/authority/evidence/version, aggregate + per-provider freshness and coverage, limitations, truncated, and an opaque continuation cursor.
Related REST
View endpoint

Try this

Search everything we know about project {project_id} for retry-budget decisions.

Get context projection

get_context_projection

Retrieve a named, registry-driven Context Platform projection for a subject. The only implemented public projection today is delivery.health (advisory delivery health and risk signals, with financial and staffing fields independently gated). Reserved projections (execution.*, decision.current/history, context.current_version/history) are planned and not callable. Read-only.

Available
Scope
context-engine:read (required)
Input
subject { type, id } plus projection (currently delivery.health).
Output
The unified envelope with the projection result, provider status, freshness, coverage, and limitations.
Related REST
View endpoint

Try this

Give me the delivery.health projection for project {project_id}.

Get context object

get_context_object

Retrieve one context object by its namespaced, domain-owned id, within at least one explicit domain among adoption, decision, commitment (vSOW snapshots), relationship, opportunity, and concept. Opportunity records are advisory platform-owned objects; Concepts are advisory derived projections and are never persisted. The platform never searches every provider by raw id, never infers account or workspace from the input, and preserves non-oracle not-found behavior. Read-only.

Available
Scope
context-engine:read (required)
Input
subject { type, id } plus object_id and at least one domain (adoption|decision|commitment|relationship|opportunity|concept), and optional include_evidence, include_history.
Output
The unified envelope with the retrieved object (or a non-oracle empty result), provider status, freshness, coverage, and limitations.
Related REST
View endpoint

Try this

Fetch context object {object_id} for project {project_id}.

List context objects

list_context_objects

List context objects for a subject within explicitly requested domains among adoption, decision, commitment (vSOW snapshots), relationship, opportunity, and concept. Opportunity records are advisory; Concepts are project-scoped derived projections. At least one explicit domain is required to avoid accidental broad fan-out. Pagination is provider-specific inside one opaque continuation cursor; ordering is deterministic but not a universal cross-domain chronology; lifecycle and history semantics remain provider-owned. Read-only.

Available
Scope
context-engine:read (required)
Input
subject { type, id } plus at least one domain (adoption|decision|commitment|relationship|opportunity|concept), and optional kinds, include_history, occurred_after, occurred_before, limit, cursor.
Output
The unified envelope with the listed objects, provider status, freshness, coverage, limitations, truncated, and an opaque continuation cursor.
Related REST
View endpoint

Try this

List the adopted definitions in scope for project {project_id}.

Record context opportunity

record_context_opportunity

Record one Context Opportunity: an evidence-backed proposal that some governed domain (decision, requirement, commitment, definition, assumption, risk, architecture, execution, knowledge) may warrant an action. Advisory only — this tool does NOT approve a decision, does NOT change a requirement, does NOT update a commitment, and does NOT change a ticket or a sprint. It creates exactly one opportunity record; only a human, through the owning domain’s own workflow, can later approve, reject, or promote it. Idempotent: the same idempotency key with the same content is a safe no-op replay, never a duplicate.

Planned
Scope
context-opportunity:write (required)
Input
source { source_kind, source_id, source_system, actor { kind, id?, system? }, … } plus opportunity { opportunity_type, target_domain, proposed_operation, title, summary, … }, required privacy { visibility_classification, excerpt_permission }, and optional evidence[], relationships[], dedup { idempotency_key }.
Output
opportunity_id, lifecycle_state, idempotent_replay, recorded_at, and the opportunity’s own authority (always advisory).
Related REST
View endpoint

Coming to MCP

Design contract only: the external dsmcp gateway does not register this tool. REST and GraphQL opportunity writes exist but remain gated by CONTEXT_OPPORTUNITY_WRITES_ENABLED (default off).

Search context opportunities

search_context_opportunities

Search Context Opportunities for a subject — evidence-backed, advisory proposals that some governed domain may warrant an action. The read partner of record_context_opportunity and a convenience over search_unified_context pre-scoped to the opportunity domain: same authorization-safe router and U7R.3 Opportunity Provider, returning per-item authority, lifecycle, target domain, proposed operation, source, evidence (subject to authorization), freshness, coverage, and an opaque continuation cursor. Opportunities are advisory — never an approved decision, requirement, commitment, or definition. Read-only.

Planned
Scope
context-engine:read (required)
Input
subject { type, id } plus query, and optional kinds, include_history, occurred_after, occurred_before, limit, cursor. The opportunity domain is fixed by the tool — no domains argument is needed.
Output
The unified envelope scoped to the opportunity provider: advisory opportunity items with authority/lifecycle/source/evidence, provider status, freshness, coverage, limitations, truncated, and an opaque continuation cursor.
Related REST
View endpoint

Coming to MCP

Design contract only: the external dsmcp gateway does not register this convenience tool. Use search_unified_context with the opportunity domain when the generic native tools are enabled.

List recovered context (project discoveries)

list_recovered_context

List the Context Opportunities recovered for a project — the "project discoveries" from Bootstrap and other producers (discovered decisions, requirements, assumptions, risks, architecture findings, definitions, commitment impacts). Answers "what has this project learned?". Same authorization-safe router and U7R.3 Opportunity Provider; per-item type, target domain, proposed operation, lifecycle, confidence, source, evidence (subject to authorization), and an opaque cursor. Every item is advisory and pending review — present it distinctly from governed truth, never merged. Read-only.

Planned
Scope
context-engine:read (required)
Input
subject { type, id } plus optional include_history, limit, cursor. The list_objects operation and opportunity domain are fixed by the tool.
Output
The unified envelope scoped to the opportunity provider: advisory opportunity items with type/authority/lifecycle/confidence/source/evidence, provider status, freshness, coverage, limitations, truncated, and an opaque continuation cursor.
Related REST
View endpoint

Coming to MCP

Design contract only: the external dsmcp gateway does not register this convenience tool. Use list_context_objects with the opportunity domain when the generic native tools are enabled.

Get Context Engine overview

get_context_engine

Read Context Engine availability, package/provider counts, freshness posture, supported capabilities, and recent packages.

Available
Scope
context-engine:read (required)
Input
Optional project_id or engagement_id; omit both for portfolio scope.
Output
Scoped overview, counts, freshness summary, capabilities, and recent packages.
Related REST
View endpoint

Try this

Show me the current Context Engine coverage and freshness posture.

List context packages

list_context_packages

List governed context packages with evidence coverage, provenance, freshness, and provider attribution.

Available
Scope
context-engine:read (required)
Input
Optional project_id or engagement_id plus limit, cursor, contribution_type, provider, and status filters.
Output
A bounded package collection and pagination metadata.
Related REST
View endpoint

Try this

List the newest ready context packages.

Get context package

get_context_package

Retrieve one governed context package with canonical source reference, provenance, freshness, and coverage.

Available
Scope
context-engine:read (required)
Input
A package_id.
Output
One governed context package.
Related REST
View endpoint

Try this

Explain context package {package_id} and its provenance.

Search structured context

search_context_packages

Search persisted context contributions without invoking arbitrary model execution.

Available
Scope
context-engine:read (required)
Input
A query plus optional project_id or engagement_id and bounded filters.
Output
Scored package matches with provenance and freshness.
Related REST
View endpoint

Try this

Search governed context for rollout terminology.

Get context package evidence

get_context_package_evidence

Read policy-safe evidence references and provenance without exposing raw source bodies.

Available
Scope
context-engine:read (required)
Input
A package_id.
Output
Evidence references, freshness, source capability, and provenance.
Related REST
View endpoint

Try this

Show the evidence references behind context package {package_id}.

List context providers

list_context_providers

Inspect provider capabilities, contribution counts, coverage, freshness, and authority boundaries.

Available
Scope
context-engine:read (required)
Input
Optional project_id or engagement_id; omit both for portfolio coverage.
Output
Native and governed contribution provider descriptors for the selected scope.
Related REST
View endpoint

Try this

Which providers contribute to Context Engine and what authority do they have?

Today & My Work

Read a daily focus package and record explicit attention-item actions.

Get Today & My Work

get_today_my_work

Read the caller’s daily focus package with an evidence-backed summary, attention items, related entities, coverage, and provenance.

Available
Scope
agent:read (required)
Input
Optional daily-focus question; defaults to “What should I focus on today?”.
Output
A Context Package plus a typed Today & My Work view in metadata.
Related REST
View endpoint

Try this

Give me my morning briefing and the items that need attention today.

Record Today attention-item action

record_today_attention_item_action

Record an explicit resolve, dismiss, or snooze action for a Today & My Work attention item and emit the matching webhook event.

Available
Scope
agent:read (required)
Input
Attention item id, action, optional note/snooze timestamp/context timestamp, and confirm=true.
Output
Accepted action status plus the emitted attention_item webhook event type.
Related REST
View endpoint

Try this

Mark this Today attention item resolved after I confirm.

Projects

Enumerate projects and inspect a single project’s health.

List projects

list_projects

List the workspace’s projects (engagements) with client name, status, and last-updated time. Useful to enumerate work or resolve a project name to its id.

Available
Scope
agent:read (required)
Input
Optional name query, status filter (active/archived/draft), and limit.
Output
Projects with client name, status, and last-updated timestamp.

Try this

List my active projects and their current status.

Get project health

get_project_health

A one-call health snapshot for a project: delivery status, alerts, phase and milestone progress, workstream states, and directional financial/staffing signals (governed by your permissions).

Available
Scope
agent:read (required)
Input
A project_id.
Output
Delivery status, alerts, phase/milestone progress, and directional signals.
Related REST
View endpoint

Try this

Give me the delivery health and current alerts for project {project_id}.

Acknowledge project health alert

acknowledge_project_health_alert

Record a confirmed acknowledgement for one advisory Project Health alert and emit project_health.alert_acknowledged.

Available
Scope
project-health:write (required)
Input
project_id, alert_key, optional note, idempotency_key, and confirm=true.
Output
Acknowledgement command payload with event type and idempotency replay flag.
Related REST
View endpoint

Try this

Acknowledge Project Health alert delivery_risk:blocked_items for project {project_id}.

List projects (public API)

list_projects_public

List visible canonical projects/engagements through the governed public API.

Available
Scope
projects:read (required)
Input
Optional query, status, and limit.
Output
Project identity rows with lifecycle status and relationship ids.
Related REST
View endpoint

Try this

Show my active projects from the public Projects API.

Get project

get_project

Retrieve one visible canonical project/engagement identity record.

Available
Scope
projects:read (required)
Input
A project_id.
Output
Project identity, lifecycle status, and relationship ids.
Related REST
View endpoint

Try this

Get project {project_id}.

Create project

create_project

Create one canonical project/engagement identity through a confirmed, idempotent command.

Available
Scope
projects:write (required)
Input
Name, optional client identity fields, idempotency_key, and confirm=true.
Output
Project command payload with project, changed fields, event type, and replay status.
Related REST
View endpoint

Try this

After I confirm, create a project named Acme replatform.

Update project

update_project

Update bounded project identity and relationship fields.

Available
Scope
projects:write (required)
Input
Project id, accepted identity fields, idempotency_key, and confirm=true.
Output
Project command payload with changed fields and project.updated event type.
Related REST
View endpoint

Try this

After I confirm, update project {project_id} client name to Acme Inc.

Update project status

update_project_status

Run one explicit project lifecycle status command.

Available
Scope
projects:write (required)
Input
Project id, status, idempotency_key, and confirm=true.
Output
Project command payload with project.status_changed or project.archived event type.
Related REST
View endpoint

Try this

After I confirm, mark project {project_id} active.

Archive project

archive_project

Archive one project through the explicit project lifecycle command path.

Available
Scope
projects:write (required)
Input
Project id, idempotency_key, and confirm=true.
Output
Project command payload with project.archived event type.
Related REST
View endpoint

Try this

After I confirm, archive project {project_id}.

List project members

list_project_members

List governed project membership rows for one visible project.

Available
Scope
projects:read (required)
Input
A project_id.
Output
Project members with user id and project-local role.
Related REST
View endpoint

Try this

List members for project {project_id}.

Add project member

add_project_member

Add one new project member through a confirmed command. Conflicts if the user is already a member; the subject must be an active member of the project account.

Available
Scope
projects:write (required)
Input
Project id, user_id, optional role, idempotency_key, and confirm=true.
Output
Project command payload with the created member and project.member_added event type; 409 project_member_already_exists or 422 project_member_subject_not_eligible otherwise.
Related REST
View endpoint

Try this

After I confirm, add user {user_id} to project {project_id} as viewer.

Update project member

update_project_member

Update one project member role through a confirmed command. This is the only operation that changes an existing membership role.

Available
Scope
projects:write (required)
Input
Project id, member id, role, idempotency_key, and confirm=true.
Output
Project command payload with member and project.member_updated event type.
Related REST
View endpoint

Try this

After I confirm, change project member {member_id} to editor.

Remove project member

remove_project_member

Remove one project member through a confirmed command.

Available
Scope
projects:write (required)
Input
Project id, member id, idempotency_key, and confirm=true.
Output
Project command payload with removed member and project.member_removed event type.
Related REST
View endpoint

Try this

After I confirm, remove project member {member_id}.

Get project settings

get_project_settings

Read bounded public project settings.

Available
Scope
projects:read (required)
Input
A project_id.
Output
Workflow, portal, AI, and ticket-prefix settings.
Related REST
View endpoint

Try this

Show settings for project {project_id}.

Update project settings

update_project_settings

Update bounded project settings through a confirmed command.

Available
Scope
projects:write (required)
Input
Project id, accepted settings fields, idempotency_key, and confirm=true.
Output
Project command payload with settings and project.settings_updated event type.
Related REST
View endpoint

Try this

After I confirm, set project {project_id} ticket prefix to ACME.

Delivery & sprint intelligence

Sprint reports and work-item detail.

Get estimates, effort, and scope

get_estimates_scope

Read one governed estimate, or list estimates for a project, with scope, effort, role demand, risks, timeline, provenance, and immutable-baseline identity.

Available
Scope
estimates:read (required)
Input
Exactly one of estimate_id or project_id.
Output
One estimate or a project-scoped estimate collection with allowed actions.
Related REST
View endpoint

Try this

Review the current scope, effort, roles, risks, and baseline posture for estimate {estimate_id}.

Draft estimate or scope change

draft_estimates_scope_change

Persist a reviewable estimate change proposal without mutating canonical estimate, staffing, schedule, or baseline state.

Available
Scope
estimates:write (required)
Input
estimate_id, requested_outcome, proposed_changes, optional evidence_refs and expected_version, plus idempotency_key.
Output
A persisted, replay-safe draft proposal with version binding and provenance.
Related REST
View endpoint

Try this

Draft a reviewed proposal to adjust contingency and explain the evidence, but do not change the estimate.

Request estimate baseline review

request_estimates_scope_action

Submit a confirmed draft proposal for human baseline review. The MCP tool cannot freeze, approve, sign, or supersede a baseline.

Available
Scope
estimates:operate (required)
Input
estimate_id, proposal_id, expected_version, reason, idempotency_key, and confirm=true.
Output
Pending human-review request and durable event identity.
Related REST
View endpoint

Try this

After I confirm, submit proposal {proposal_id} for baseline review.

Get sprint report

get_sprint_report

Report on a project’s active (or specified) sprint: goal, totals, work items by status, blocked items, and spillover risk.

Available
Scope
agent:read (required)
Input
A project_id and optional sprint_id (defaults to the single active sprint; required if the project has more than one active sprint at once).
Output
Sprint goal, work items by status, blocked items, and spillover risk.

Try this

Summarize the current sprint and explain the largest blockers.

Get sprint planning

get_sprint_planning

Read a project sprint-planning context and readiness score as a read-only projection.

Available
Scope
sprints:read (required)
Input
A project_id.
Output
Planning payload, context projections, readiness score, criteria, and generated timestamp.
Related REST
View endpoint

Try this

Show me sprint planning readiness for project {project_id}.

Suggest sprint planning moves

suggest_sprint_planning_moves

Generate citation-gated planning intents for review. Proposal-only; it does not apply a plan or move work.

Available
Scope
sprints:read (required)
Input
A project_id and confirm=true.
Output
Suggested planning intents, observations, readiness, computed timestamp, and webhook event type.
Related REST
View endpoint

Try this

Suggest sprint planning moves for project {project_id} after I confirm.

Get delivery timeline

get_delivery_timeline

Read governed delivery milestones and workstreams for one project without moving execution coordinates.

Available
Scope
delivery-timeline:read (required)
Input
A project_id.
Output
Delivery milestones, workstreams, source-mode disclosure, and generated timestamp.
Related REST
View endpoint

Try this

Show me the delivery timeline for project {project_id}.

List delivery milestones

list_delivery_milestones

List Delivery-owned milestones for one project with scoped work-item ids.

Available
Scope
delivery-timeline:read (required)
Input
A project_id.
Output
Milestones with status, target date, progress, owner derivation, and scoped work-item ids.
Related REST
View endpoint

Try this

List milestones for project {project_id}.

Get delivery milestone

get_delivery_milestone

Retrieve one governed Delivery milestone.

Available
Scope
delivery-timeline:read (required)
Input
A milestone_id.
Output
Milestone detail with scoped work-item ids.
Related REST
View endpoint

Try this

Get milestone {milestone_id}.

List delivery workstreams

list_delivery_workstreams

List project workstreams through the execution read provider. Read-only in this slice.

Available
Scope
delivery-timeline:read (required)
Input
A project_id.
Output
Workstreams with id, name, slug, status, and default flag.
Related REST
View endpoint

Try this

List workstreams for project {project_id}.

Update delivery milestone status

update_delivery_milestone_status

Run one confirmed governed milestone status command.

Available
Scope
delivery-timeline:write (required)
Input
Milestone id, status, optional expected_updated_at/reason, idempotency_key, and confirm=true.
Output
Command payload with milestone, changed fields, emitted event type, and replay status.
Related REST
View endpoint

Try this

After I confirm, mark milestone {milestone_id} at risk.

Update delivery milestone target date

update_delivery_milestone_target_date

Run one explicit milestone target-date command; does not resize phases or move work.

Available
Scope
delivery-timeline:write (required)
Input
Milestone id, target_date, optional expected_updated_at/reason, idempotency_key, and confirm=true.
Output
Command payload with milestone, changed fields, emitted event type, and replay status.
Related REST
View endpoint

Try this

After I confirm, move milestone {milestone_id} target date to 2026-08-07.

Update delivery milestone progress

update_delivery_milestone_progress

Run one explicit milestone progress command for completion percentage and/or projected date.

Available
Scope
delivery-timeline:write (required)
Input
Milestone id, completion_pct and/or projected_date, optional expected_updated_at/reason, idempotency_key, and confirm=true.
Output
Command payload with milestone, changed fields, emitted event type, and replay status.
Related REST
View endpoint

Try this

After I confirm, update milestone {milestone_id} to 70% complete.

List work items

list_work_items

Read canonical DigitalStack work items using board-safe filters such as team, sprint, parent, assignee, and status bucket. Use this to find the right work item before drilling in or running Work Item Enhance.

Available
Scope
work-items:read (required)
Input
A required project_id, plus optional team_id, sprint_id, parent_id, assignee_user_id, status_bucket array, limit, and cursor (DS-592 — for retrieving results past the first page; the live dsmcp gateway tool schema does not yet expose this parameter, so only the REST endpoint can page past `limit` today).
Output
Canonical work items with identity, title, hierarchy, status bucket, sprint/team context, and assignee summary.
Related REST
View endpoint

Try this

List the blocked work items for this sprint.

Get work item board

get_work_item_board

Read the canonical DigitalStack work-item board grouped by status bucket. This is a read-only projection over Execute work items and does not move cards or mutate workflow state.

Available
Scope
work-items:read (required)
Input
Optional team_id, sprint_id, assignee_user_id, status_bucket array, and limit.
Output
Board columns keyed by canonical status bucket with bounded work-item cards and counts.
Related REST
View endpoint

Try this

Show me the current work-item board for this team.

Get canonical work item

get_work_item

Read one source-aware Execute work item through the governed public Work Items API. Jira-backed reads hydrate authoritative description, discussion, people, hierarchy, and relationships without asking the model to infer missing facts.

Available
Scope
work-items:read (required)
Input
A work_item_id (provider UUID or source key such as EA-1650) and the required project_id.
Output
Canonical identity plus source detail, bounded comments, parent and children, relationships, and capture states that distinguish absent data from data DigitalStack did not capture.
Related REST
View endpoint

Try this

Tell me what EA-1650 is about, who owns it, what was discussed, and what it relates to.

List work item transitions

list_work_item_transitions

Read transition history for one canonical work item without changing status, ranking, or board placement.

Available
Scope
work-items:read (required)
Input
A work_item_id and optional limit.
Output
Canonical transition records with from/to bucket, actor, source, note, and timestamp.
Related REST
View endpoint

Try this

Show me the recent transition history for this work item.

Get work item operation context

get_work_item_operation_context

Inspect the current version, allowed transitions, editable fields, and supported commands before an agent proposes a work-item operation.

Available
Scope
work-items:read (required)
Input
A work_item_id.
Output
Operation context with version, allowed transitions, editable fields, and command support.
Related REST
View endpoint

Try this

What can I safely do to this work item right now?

Add work item comment

add_work_item_comment

Add an attributable comment after explicit confirmation. If the work item is Jira-backed, DigitalStack validates and passes the comment through to Jira. DS-40 (comment sub-scope) — a ticket-backed work item (the substrate every DS-native project uses) is fully supported: the comment writes to that project's own ticket_comments, not the canonical execute_work_item_comment table. `mentions` and `evidence_refs` are refused (422 capability_unsupported), not silently dropped, for a ticket-backed item — ticket_comments has neither column. Ticket #565C — attachments: the REST endpoint accepts an optional `attachments: [{ filename, mime_type, data_base64 }]` array (images only, 25MB/file), requires a work item backed by a native DigitalStack ticket (422 ATTACHMENTS_REQUIRE_NATIVE_TICKET otherwise, which today means every case — canonical execute_work_item items have never supported attachments) and a principal bound to a DigitalStack user (422 ATTACHMENTS_REQUIRE_USER_PRINCIPAL otherwise). The response includes `attachment_ids` when attachments were supplied; it does NOT include a separate `ticket_comment_id` — the created comment IS the ticket_comments row, not a mirror of one. The `attachments` parameter is not yet exposed by the live dsmcp tool schema — this doc overlay records the target contract for whoever updates that separate gateway service; it is not something this repo can change.

Available
Scope
work-items:comment (required)
Input
work_item_id, body, optional mentions/evidence refs/attachments, expected_version, confirm=true, and idempotency_key.
Output
Created comment, updated work-item summary, webhook event type, source writeback result, and (attachment-bearing calls only) attachment_ids.
Related REST
View endpoint

Try this

Add this note to the work item after I confirm it.

Transition work item status

transition_work_item_status

Apply one allowed Execute flow-state transition after confirmation. Jira-backed work items pass the mapped transition through to Jira.

Available
Scope
work-items:transition (required)
Input
work_item_id, to_state_id, optional provider_transition_id/note, expected_version, confirm=true, and idempotency_key.
Output
Updated work item, transition record, webhook event type, and source writeback result.
Related REST
View endpoint

Try this

Move this work item into progress if that transition is allowed.

Assign work item

assign_work_item

Assign, reassign, or unassign a work item after confirmation, with Jira pass-through for Jira-backed work items.

Available
Scope
work-items:assign (required)
Input
work_item_id, assignee_user_id or null, expected_version, confirm=true, and idempotency_key.
Output
Updated work-item assignment, webhook event type, and source writeback result.
Related REST
View endpoint

Try this

Assign this work item to Jordan after verifying Jordan is eligible.

Update work item dates

update_work_item_dates

Set or clear start, due, target, sprint, or ordering fields through the scheduling command boundary. Jira due-date writeback is supported when mapped.

Available
Scope
work-items:schedule (required)
Input
work_item_id, date/sprint patch, expected_version, confirm=true, and idempotency_key.
Output
Updated dates, changed fields, webhook event type, and source writeback result.
Related REST
View endpoint

Try this

Prepare a confirmed due-date command for this work item for next Friday.

Update work item estimate

update_work_item_estimate

Set or clear work-item points after confirmation. Jira-backed estimates require a configured story-points field mapping.

Available
Scope
work-items:estimate (required)
Input
work_item_id, points or null, expected_version, confirm=true, and idempotency_key.
Output
Updated estimate, webhook event type, and source writeback result.
Related REST
View endpoint

Try this

Prepare a confirmed five-point estimate command for this work item.

Update work item labels

update_work_item_labels

Add, remove, or replace normalized labels after confirmation. Jira-backed labels are passed through to Jira.

Available
Scope
work-items:link (required)
Input
work_item_id, labels/add/remove, expected_version, confirm=true, and idempotency_key.
Output
Updated labels, webhook event type, and source writeback result.
Related REST
View endpoint

Try this

Prepare a confirmed label command for api and triage on this work item.

Link work item dependency

link_work_item_dependency

Create a dependency or relationship after validating target visibility and cycles.

Available
Scope
work-items:link (required)
Input
work_item_id, target_work_item_id, relationship, expected_version, confirm=true, and idempotency_key.
Output
Created dependency, webhook event type, and affected work-item summary.
Related REST
View endpoint

Try this

Link this work item as depending on the API contract work item.

Manage work item blocker

manage_work_item_blocker

Raise, update, transition, or resolve a blocker linked to a work item after confirmation.

Available
Scope
work-items:blockers (required)
Input
work_item_id, action, blocker fields, expected_version, confirm=true, and idempotency_key.
Output
Blocker state, webhook event type, and affected work-item summary.
Related REST
View endpoint

Try this

Raise a high-severity blocker on this work item for missing credentials.

Update work item focus

update_work_item_focus

Pin, reprioritize, snooze, annotate, or clear a work item in focus views without mutating authoritative schedule or staffing.

Available
Scope
work-items:focus (required)
Input
work_item_id, action, priority/reason/notes/expires_at, confirm=true, and idempotency_key.
Output
Focus record, webhook event type, and affected work-item summary.
Related REST
View endpoint

Try this

Pin this work item to focus because it is a customer escalation.

Attach an engineering link to a work item

create_development_link

Attach a commit, pull request, branch, deployment, release, build, or evidence reference to a work item through the same governed path as the app’s "Add Link" action. Refuses a duplicate (same provider + artifact_type + external_ref) with a conflict rather than creating a second link. Not idempotent by key — there is no replay ledger on this endpoint; duplicate protection is the refusal itself, so a retry after a successful call is refused, not replayed. Distinct from link_work_item_dependency, which links work item to work item, not work item to external artifact.

Available
Scope
work-items:link (required)
Input
work_item_id, artifact_type, repository_full_name, external_ref, optional external_url/title/provider_key/link_method, and confirm=true. No idempotency_key.
Output
The created development link: id, provider, repository, artifact type, external ref/url, title, and link method.
Related REST
View endpoint

Try this

Attach this pull request to the work item as a development link.

Claim next work item

claim_next_work_item

Atomically reserve the highest-priority claimable work item in a project under a time-bound lease, so two concurrent agents are never handed the same item. Candidates are not_started and ready items only — never blocked, and never a container — ordered critical, high, medium, low, then oldest first. A ticket with live children is a container: claiming one would reserve a folder rather than work, so parents are excluded structurally (by having children, not by declared type). `backlog` is deliberately out of scope as the unrefined pool, so a critical item sitting in backlog is a signal to refine it rather than an empty queue. A claim is a transient agent reservation, NOT an assignment: it never sets or clears the assignee. An expired lease is automatically reclaimable, so a crashed agent’s item returns to the pool without operator intervention. Deliberately not idempotent — two calls should return two different items.

Available
Scope
work-items:assign (required)
Input
project_id, claim_owner (an agent or session identifier, 200 characters or fewer), and optional lease_seconds (default 900, maximum 3600).
Output
The claimed work item with id, key, title, status, priority, project, claim owner, claimed_at, and claim_expires_at — or claimed: null when the queue is empty, which is a normal empty result and not an error.
Related REST
View endpoint

Try this

What should I work on next on this project?

Renew work item claim

renew_work_item_claim

Extend a lease the caller still holds, for an agent whose unit of work outlives the original lease window. Holder-only: a non-holder extending someone else’s lease would be a silent steal, so a non-holder or already-expired lease is a conflict rather than a quiet no-op.

Available
Scope
work-items:assign (required)
Input
work_item_id, the same claim_owner that holds the lease, and optional lease_seconds (default 900, maximum 3600).
Output
The renewed claim with its new claim_expires_at, or a claim_not_held conflict when the caller is not the holder or the lease already expired.
Related REST
View endpoint

Try this

I am still working on this item — extend my claim.

Release work item claim

release_work_item_claim

Give up a claim the caller holds, returning the work item to the claimable pool immediately rather than at lease expiry. Releasing a claim you do not hold is reported rather than swallowed, because an agent that believes it released will not retry.

Available
Scope
work-items:assign (required)
Input
work_item_id and the same claim_owner that holds the lease.
Output
released: true with the work-item id, or a claim_not_held conflict when the caller does not hold the claim.
Related REST
View endpoint

Try this

I am not working on this item after all — release my claim.

Create work item

create_work_item

Create a work item through the source provider bound to the project, converging on the same create path as the DigitalStack UI and the public REST and GraphQL surfaces. NOT idempotent: DigitalStack does not deduplicate creates by a caller-supplied key, so a retry after a network failure may create a second item. Confirm before calling.

Available
Scope
work-items:write (required)
Input
project_id, title, confirm=true, and optional description, kind (story/task/bug/epic/subtask/spike, anything else maps to custom), parent_id, sprint_id, assignee_user_id, labels, points, and due_date.
Output
The created work item, immediately visible to get_work_item and list_work_items.

Try this

After I confirm, add a bug to project {project_id} titled "Checkout retries loop".

Reparent work item

reparent_work_item

Set or clear a work item’s parent. DS-native items are validated against the same rules the DigitalStack UI enforces: no self-parent, parent must be in the same project and workstream, no circular reference, and a maximum nesting depth of 2 (three-level trees). A null parent clears it.

Available
Scope
work-items:link (required)
Input
work_item_id, parent_ticket_id (or null to clear), idempotency_key, confirm=true, and optional expected_version.
Output
The reparented work item with its new parent, or a validation error naming the rule that rejected it.

Try this

After I confirm, move work item {work_item_id} under parent {parent_id}.

Get work item execution

get_work_item_execution

Answer "what has already happened against this ticket?" without reconstructing it from Jira, GitHub, or a previous conversation. Returns whether execution started, which session is active and its state, the latest and recent structured activity with who performed it, Launch Package availability and freshness, prior attempts, and the actions available to the caller. Read this BEFORE starting execution to discover work already in progress. A summary whose source does not exist yet is returned as explicitly unavailable with the milestone that will supply it, never as zero.

Available
Scope
execution:read (required)
Input
work_item_id (uuid or key) and project_id.
Output
Execution state, active session, recent attributed activity, Launch Package availability and freshness, prior attempts, and available actions.

Try this

Has anyone started execution on {work_item_id} already?

Create delivery milestone

create_delivery_milestone

Create a governed Delivery milestone for a project. Requires an acting user: session and delegated OAuth callers are attributed as the creator, and API-key callers are refused, since a key identifies no caller.

Available
Scope
delivery-timeline:write (required)
Input
project_id, title, idempotency_key, confirm=true, and optional status, target_date, projected_date, completion_pct, commitment_id, vsow_package_id, and metadata.
Output
The created milestone with its attributed creator.

Try this

After I confirm, add a "Beta cutover" milestone to project {project_id} targeting 2026-09-30.

Assign work item to milestone

assign_work_item_milestone

Add one work item into a governed Delivery milestone’s scope. Requires an acting user: session and delegated OAuth callers are attributed as who added it, and API-key callers are refused, since a key identifies no caller.

Available
Scope
delivery-timeline:write (required)
Input
milestone_id, item_type, source_item_id, idempotency_key, confirm=true, and optional source_system, source_item_key, source_item_title, source_item_url, and notes.
Output
The updated milestone scope with the added item and its attribution.

Try this

After I confirm, put work item {work_item_id} into milestone {milestone_id}.

Start or resume execution

start_or_resume_execution

Begin a durable execution session for a work item, or rejoin the existing live one. At most one live session exists per work item, so calling again RESUMES rather than creating a rival session — safe to use when reconnecting or when unsure whether work already started. Records execution state only: it advances no phase, approves nothing, and touches no provider.

Available
Scope
execution:write (required)
Input
project_id, work_item_id, intent (the outcome being pursued, not the steps), and optional title and idempotency_key.
Output
The session, whether it was created or resumed, the current Launch Package state, and the actions the caller is authorized to take next.

Try this

Start execution on {work_item_id} — the intent is to stop the checkout retry loop.

Get Launch Package

get_launch_package

Retrieve the canonical launch context for an execution session: mission, work item, acceptance criteria, execution state, the next authorized action, required outputs, applicable policies, and supporting context. Read this before starting work rather than assembling context by hand. Every section carries its own provenance and freshness, and a structured reason when absent — a section marked `filtered` exists but is outside the caller’s access, while `empty` genuinely has nothing. An absent section never means "nothing to know". Does not recompose; use refresh_launch_package for that.

Available
Scope
execution:read (required)
Input
session_id, and optional revision to read an earlier immutable package revision.
Output
The Launch Package for that revision, each section carrying provenance, freshness, and an explicit reason when absent.

Try this

Show me the Launch Package for session {session_id} before I begin.

Refresh Launch Package

refresh_launch_package

Recompose the Launch Package and append a NEW immutable revision. Prior revisions are never modified, so what an actor was previously given stays auditable. Use when resuming after a gap, or when the surrounding context is believed to have changed. A partial composition is returned honestly with its warnings rather than as an error.

Available
Scope
execution:write (required)
Input
session_id, and optional idempotency_key and expected_revision (which fails with stale_revision rather than composing against unseen state).
Output
The new package revision with any composition warnings.

Try this

Recompose the Launch Package for session {session_id} — I have been away a while.

Get execution Understanding

get_execution_understanding

Read the Cognitive Runtime state for an execution session: the current Understanding summary and version, its review state, every version in history, the open and blocking questions, and the actions this caller may take. Understanding is what an actor ASSERTS they understood the work to be, which is distinct from the Launch Package, which is what the system knows. Content the caller may not see is returned marked `filtered`, never omitted: a filtered field is withheld, not absent.

Available
Scope
execution:read (required)
Input
session_id.
Output
Current Understanding and version, review state, version history, open and blocking questions, and caller-available actions.

Try this

What does the actor on session {session_id} believe this work is?

Materialize Understanding

materialize_understanding

Create or wholly replace the session’s Understanding draft. WHOLE-CONTENT AND ATOMIC: there is no patch or autosave tool, and a revision is a new version rather than an edit. Facts and assumptions are SEPARATE fields and every known fact must carry a citation — an uncited claim belongs in assumptions. From version 2 onward a proposed_revision_impact is stated, but DigitalStack independently computes an enforced minimum from structural change and a proposal cannot lower it. The returned fingerprint and enforced impact are the server’s.

Available
Scope
execution:write (required)
Input
session_id, requested_outcome, acceptance_criteria_interpretation, and optional known_facts (each with citations), assumptions, constraints, dependencies, risks, affected_boundaries, evidence_references, open_question_ids, proposed_revision_impact, and idempotency_key.
Output
The new Understanding version with the server-computed content fingerprint, the enforced revision impact, and which detectors fired.

Try this

Record my understanding of session {session_id} as a new version.

Get Understanding version

get_understanding_version

Read one exact, immutable Understanding version with its structured content, its content fingerprint, the impact its author proposed, the minimum the system enforced and which detectors fired, its contributors, and its submission and review attribution. The fingerprint returned here is what a human reviewer’s decision binds to.

Available
Scope
execution:read (required)
Input
session_id and version (versions start at 1 and never restart).
Output
That exact version’s content, fingerprint, proposed and enforced impact, detectors fired, contributors, and attribution.

Try this

Show me version 2 of the Understanding on session {session_id}.

Submit Understanding

submit_understanding

Freeze a draft for review. After this the version’s content, authorship, and enforced impact are immutable, and the previous version is superseded. Submitting does NOT accept the Understanding — a human must still review it. A replayed submit returns the already-submitted version rather than failing.

Available
Scope
execution:write (required)
Input
session_id, version, and optional idempotency_key.
Output
The frozen version, or the already-submitted version on replay.

Try this

Freeze version 2 on session {session_id} for review.

Request Understanding review

request_understanding_review

Ask for a HUMAN to review an exact submitted version. This is the agent’s move: it requests that a human act and cannot perform the act. It changes no state (a submitted version is already reviewable) and it neither accepts nor notifies. Accepting, rejecting, or requesting changes requires an interactive human session in DigitalStack and is unavailable to any credential, whatever its scopes.

Available
Scope
execution:write (required)
Input
session_id, version, and content_fingerprint — the fingerprint of the version actually read, which binds the request to that exact content and refuses if the version moved.
Output
The recorded review request, or a refusal when the fingerprint no longer matches.

Try this

Ask a human to review version 2 on session {session_id}.

List execution questions

list_execution_questions

List the durable open questions for an execution session, with counts in meta. Questions are PLURAL by design: there is no single "current question", because a session with three unresolved things does not have one. What a question ASKS is immutable; only its answer advances.

Available
Scope
execution:read (required)
Input
session_id.
Output
Open questions with their priority and evidence, plus counts in meta.

Try this

What is still unresolved on session {session_id}?

Raise execution question

raise_execution_question

Record a durable question against an execution session. What a question ASKS — its text, evidence, origin, and attribution — is immutable once raised; only its answer advances. A blocking question does not prevent an Understanding being submitted or accepted: an artifact whose job is to record what is unresolved would be self-defeating if unresolved questions blocked recording it.

Available
Scope
execution:write (required)
Input
session_id, question, and optional priority (blocking/important/informational, default important), evidence_refs, and raised_on_version for provenance.
Output
The recorded question with its immutable text, priority, and attribution.

Try this

Log a blocking question on session {session_id}: which tenant owns the retry budget?

Resolve execution question

resolve_execution_question

Answer or withdraw a question. Accepts ONLY resolution fields: the original question text, its evidence, its attribution, and its PRIORITY are not reachable here, so answering can never rewrite what was asked. Changing a question’s priority is a separate, separately audited act performed by a human in DigitalStack. resolution_impact is distinct from priority — a blocking question can resolve immaterial when the answer confirms what was assumed. Replaying the same outcome is stable; a different outcome is a conflict.

Available
Scope
execution:write (required)
Input
session_id, question_id, outcome (answer or withdraw, default answer), and when answering, resolution and resolution_impact plus optional resolution_evidence_refs.
Output
The resolved question with its answer and resolution impact, or a conflict when replayed with a different outcome.

Try this

Answer question {question_id} on session {session_id}: the platform team owns the retry budget.

Get work item detail

get_work_item_detail

Detail on a single work item: description excerpt, status, assignee, parent/children, open blockers, and recent status transitions.

Available
Scope
agent:read (required)
Input
A work_item_id.
Output
Work item detail, blockers, and recent status transitions.

Try this

What changed on this work item recently, and what is blocking it?

List Work Item Enhance runs

list_work_item_enhancement_runs

List proposal-first enhancement runs by target work item and state.

Available
Scope
work-item-enhance:read (required)
Input
Optional target_work_item_id, state, and limit.
Output
Enhancement runs with target, state, drafts, artifacts, and allowed next actions.
Related REST
View endpoint

Try this

List enhancement runs for this work item.

Enhance work item

enhance_work_item

Create a proposal-first Work Item Enhance run with selected actions such as requirements, description, design, implementation plan, acceptance criteria, test plan, estimate, and risk check.

Available
Scope
work-item-enhance:run (required)
Input
Work-item id, selected actions, optional instructions, idempotency key, and confirm=true.
Output
Persisted enhancement run with drafts, artifacts, evidence references, and allowed next actions.
Related REST
View endpoint

Try this

Enhance this work item for engineering readiness, then show me the generated drafts before applying anything.

Get Work Item Enhance run

get_work_item_enhancement_run

Retrieve one Work Item Enhance run with target, requested actions, drafts, artifacts, allowed actions, and apply history.

Available
Scope
work-item-enhance:read (required)
Input
Enhancement run id.
Output
One enhancement run with proposal artifacts and allowed next actions.
Related REST
View endpoint

Try this

Show me this enhancement run and the drafts ready for review.

Get Work Item Enhance operation status

get_work_item_enhancement_operation

Read the operation-style status view for a Work Item Enhance run.

Available
Scope
work-item-enhance:read (required)
Input
Enhancement run / operation id.
Output
Operation status, target summary, counts, and allowed next actions.
Related REST
View endpoint

Try this

Show me the current operation status for this enhancement run.

Run Work Item Enhance action

run_work_item_enhancement_action

Run any allowlisted action on an existing enhancement run, such as code context, implementation plan, acceptance criteria, test plan, estimate, or risk check.

Available
Scope
work-item-enhance:run (required)
Input
Enhancement run id, action, optional instructions, idempotency key, and confirm=true.
Output
Updated enhancement run with generated drafts/artifacts.
Related REST
View endpoint

Try this

Run the implementation-plan action for this enhancement run after I confirm.

Draft work item requirements

draft_work_item_requirements

Run the requirements action on an existing enhancement run and return generated field-level drafts for review.

Available
Scope
work-item-enhance:run (required)
Input
Enhancement run id, optional instructions, idempotency key, and confirm=true.
Output
Updated enhancement run containing requirement-oriented drafts.
Related REST
View endpoint

Try this

Draft requirements for this enhancement run and call out unresolved assumptions.

Draft work item description

draft_work_item_description

Run the description action on an existing enhancement run and return a clearer work-item description draft.

Available
Scope
work-item-enhance:run (required)
Input
Enhancement run id, optional tone/template instructions, idempotency key, and confirm=true.
Output
Updated enhancement run containing a description draft.
Related REST
View endpoint

Try this

Rewrite this work item description so an engineer can start without ambiguity.

Draft work item design

draft_work_item_design

Run the design action and return an advisory design artifact without changing the work item.

Available
Scope
work-item-enhance:run (required)
Input
Enhancement run id, optional architecture constraints, idempotency key, and confirm=true.
Output
Updated enhancement run containing a design artifact.
Related REST
View endpoint

Try this

Draft a lightweight design note for this work item.

Inspect work item code context

inspect_work_item_code_context

Read generated code-context artifacts for a Work Item Enhance run: likely files, likely tests, implementation areas, missing context, and guardrails.

Available
Scope
work-item-enhance:code-context (required)
Input
Enhancement run id.
Output
Read-only code-context artifact summaries, file/test candidates, evidence references, and connector gaps.
Related REST
View endpoint

Try this

Show me the likely files and tests for this enhancement run, plus anything still missing.

List Work Item Enhance drafts

list_work_item_enhancement_drafts

List generated field-level drafts for a run, optionally filtered by action, field, or apply eligibility.

Available
Scope
work-item-enhance:read (required)
Input
Enhancement run id, optional action, field, and apply_eligible filter.
Output
Generated drafts with proposed values, confidence, evidence references, and apply eligibility.
Related REST
View endpoint

Try this

Show me the applyable drafts for this enhancement run.

List Work Item Enhance artifacts

list_work_item_enhancement_artifacts

List generated review artifacts for a run, optionally filtered by artifact type.

Available
Scope
work-item-enhance:read (required)
Input
Enhancement run id and optional artifact type.
Output
Generated artifacts such as design notes, code context, implementation plans, and test plans.
Related REST
View endpoint

Try this

Show me the review artifacts for this enhancement run.

Prepare Work Item Enhance apply

prepare_work_item_enhancement_apply

Read selected drafts and prepare the field-level apply preview. The actual apply remains an explicit confirmed REST command.

Available
Scope
work-item-enhance:apply (required)
Input
Enhancement run id and selected draft ids.
Output
Draft field diffs, target version, required scope, and conflict notes for user confirmation.
Related REST
View endpoint

Try this

Prepare the apply package for these selected drafts and show the field-level diff for confirmation.

Apply Work Item Enhance drafts

apply_work_item_enhancement_drafts

Apply selected reviewed drafts to the canonical work item using explicit confirmation, optimistic target versioning, and idempotency.

Available
Scope
work-item-enhance:apply (required)
Input
Enhancement run id, selected draft ids, expected target version, idempotency key, and confirm=true.
Output
Updated enhancement run with applied draft ids and target version.
Related REST
View endpoint

Try this

Apply these selected drafts after I review the diff and explicitly confirm.

Risks & decisions

Aggregated risks, blockers, and dependencies.

Get risks and blockers

get_risks_and_blockers

Aggregated risk picture for a project: delivery alerts, client-dependency blocks, and open risk/gap/request issues, with a coverage block.

Available
Scope
agent:read (required)
Input
A project_id and optional severity floor.
Output
Delivery alerts, client-dependency blocks, and open risks with coverage.

Try this

Explain the major dependencies and risks affecting this project.

Time Management

Review, draft, record, submit, and approve time through governed commands.

List time entries

list_time_entries

List the caller’s self-scoped canonical time entries by date range, project, status, and limit.

Available
Scope
time:read_self (required)
Input
Optional start, end, project_id, status, and limit.
Output
Canonical self-owned time entries without raw activity evidence or rates.
Related REST
View endpoint

Try this

List my draft time entries for this week.

Get time entry

get_time_entry

Read one self-scoped canonical time entry.

Available
Scope
time:read_self (required)
Input
Time entry id.
Output
One canonical time entry without raw activity evidence or rates.
Related REST
View endpoint

Try this

Show me this time entry.

Update time entry

update_time_entry

Update one editable self-scoped time entry with optimistic versioning and explicit confirmation.

Available
Scope
time:write_self (required)
Input
Entry id, expected version, optional editable fields, and confirm=true.
Output
Updated canonical time entry.
Related REST
View endpoint

Try this

Adjust this draft time entry after I confirm the fields.

Void time entry

void_time_entry

Void one editable self-scoped time entry with optimistic versioning and explicit confirmation.

Available
Scope
time:write_self (required)
Input
Entry id, expected version, and confirm=true.
Output
Voided entry id, status, and version.
Related REST
View endpoint

Try this

Void this draft entry after I confirm.

Get timer

get_timer

Read the caller’s current canonical timer, if any.

Available
Scope
time:read_self (required)
Input
No input.
Output
Current timer state, elapsed seconds, attribution, and version, or null.
Related REST
View endpoint

Try this

Show me my current timer.

Get my time day

get_my_day

Read the caller's privacy-safe work day, including entries, attributed sessions, conflicts, gaps, timer, draft, totals, and submission state.

Available
Scope
time:read_self (required)
Input
Optional workspace-local date; defaults to today in the workspace timezone.
Output
A bounded, self-scoped day view without rates or raw activity evidence.
Related REST
View endpoint

Try this

Show me my time day and any gaps that still need review.

Draft today's time

draft_today_time

Persist a proposal from fully attributed DigitalStack work sessions. Conflicts and unresolved evidence remain gaps; no actual time is created.

Available
Scope
time:write_self (required)
Input
Optional workspace-local date.
Output
A versioned draft with proposed blocks, evidence references, and unresolved sessions.
Related REST
View endpoint

Try this

Draft today's time from my DigitalStack work evidence and show me what remains unresolved.

Apply a reviewed time draft

apply_time_draft

Apply a reviewed proposal to canonical entries with optimistic versioning, idempotency, and explicit confirmation.

Available
Scope
time:write_self (required)
Input
Draft id, expected version, idempotency key, and confirm=true.
Output
The applied draft and canonical entry ids.
Related REST
View endpoint

Try this

After I review the proposal, apply this time draft with my explicit confirmation.

Log explicit time

log_time

Record one user-supplied time entry. It cannot silently convert inferred activity into an actual.

Available
Scope
time:write_self (required)
Input
Date, duration, category, optional attribution and notes, idempotency key, and confirm=true.
Output
The canonical self-owned entry.
Related REST
View endpoint

Try this

Log 90 minutes to the selected project after I confirm the fields.

Start timer

start_timer

Start the caller's single canonical timer for an explicit target.

Available
Scope
time:write_self (required)
Input
Category, optional project/work item, and confirm=true.
Output
The running canonical timer.
Related REST
View endpoint

Try this

Start my timer for the selected project after I confirm the attribution.

Pause timer

pause_timer

Pause the caller’s active canonical timer with optimistic versioning and explicit confirmation.

Available
Scope
time:write_self (required)
Input
Expected timer version and confirm=true.
Output
Paused timer state.
Related REST
View endpoint

Try this

Pause my active timer after I confirm.

Resume timer

resume_timer

Resume the caller’s paused canonical timer with optimistic versioning and explicit confirmation.

Available
Scope
time:write_self (required)
Input
Expected timer version and confirm=true.
Output
Running timer state.
Related REST
View endpoint

Try this

Resume my paused timer after I confirm.

Stop timer

stop_timer

Atomically stop the active timer and create exactly one draft entry.

Available
Scope
time:write_self (required)
Input
Expected timer version, idempotency key, optional final fields, and confirm=true.
Output
The stopped timer result and created entry.
Related REST
View endpoint

Try this

Stop my active timer and record the result after I confirm.

Discard timer

discard_timer

Discard the caller’s active or paused canonical timer without creating a time entry.

Available
Scope
time:write_self (required)
Input
Expected timer version and confirm=true.
Output
Discard result with replay metadata.
Related REST
View endpoint

Try this

Discard my current timer after I confirm.

Submit time day

submit_timesheet

Validate and submit one reviewed work day into the canonical approval lifecycle.

Available
Scope
time:submit_self (required)
Input
Optional date, idempotency key, and confirm=true.
Output
Submission state and validation result.
Related REST
View endpoint

Try this

Submit my reviewed time day after I explicitly confirm.

Recall time day

recall_timesheet

Recall one submitted work day while policy permits, using explicit confirmation.

Available
Scope
time:submit_self (required)
Input
Optional date and confirm=true.
Output
Recalled day state and timestamp.
Related REST
View endpoint

Try this

Recall this submitted time day after I confirm.

List time approvals

list_time_approvals

List eligible team time approvals for the authenticated reviewer.

Available
Scope
time:read_team (required)
Input
Optional status filter.
Output
Eligible approval records only.
Related REST
View endpoint

Try this

List my pending time approvals.

Decide time approval

decide_time_approval

Approve or reject an eligible submission as the authenticated human approver.

Available
Scope
time:approve_team (required)
Input
Approval id, approve/reject decision, rejection reason when required, and confirm=true.
Output
The durable approval decision and resulting submission state.
Related REST
View endpoint

Try this

Approve this eligible time submission after I inspect it and confirm the decision.

List time imports

list_time_imports

List governed provider time import runs for authorized administrators.

Available
Scope
time:import (required)
Input
No input.
Output
Provider import runs and statuses.
Related REST
View endpoint

Try this

List recent time import runs.

Create time import

create_time_import

Create a governed provider time import run with date range, idempotency, and explicit confirmation.

Available
Scope
time:import (required)
Input
Provider, date_from, date_to, idempotency key, and confirm=true.
Output
Import run result and replay metadata.
Related REST
View endpoint

Try this

Import Timely time for this date range after I confirm.

List time reconciliation findings

list_time_reconciliation_findings

List governed provider reconciliation findings without exposing raw provider payloads or financial rates.

Available
Scope
time:reconcile (required)
Input
Optional status, date_from, date_to, and limit.
Output
Reconciliation findings and status metadata.
Related REST
View endpoint

Try this

List open time reconciliation findings.

Scan time reconciliation

scan_time_reconciliation

Run a reconciliation scan for a date range. It records findings only and does not mutate approved entries.

Available
Scope
time:reconcile (required)
Input
date_from, date_to, and confirm=true.
Output
Reconciliation scan result.
Related REST
View endpoint

Try this

Scan this date range for time reconciliation issues after I confirm.

Resolve time reconciliation finding

resolve_time_reconciliation_finding

Resolve one reconciliation finding through DigitalStack policy with explicit confirmation.

Available
Scope
time:reconcile (required)
Input
Finding id, resolution action, and confirm=true.
Output
Resolution result.
Related REST
View endpoint

Try this

Resolve this reconciliation finding after I confirm the action.