Skip to Content

POST /tool/draft

Patch Tool Draft

Patch tool draft — composable infra architecture.

Request Body (PatchToolDraftApiRequest)

FieldTypeRequiredDescription
draft_idstringNoExisting draft ID to update
input_draft_idstringNoExisting draft ID to update
namestringNoDisplay name value
name_idstringNoName resource identifier
descriptionstringNoDescription text value
description_idstringNoDescription resource identifier
flag_idsstring[]NoSelected flag option UUIDs — canonical; server derives semantics by flag type/value
activebooleanNoDenormalized tool_active flag state; resolved to a flag_ids entry server-side
department_idsstring[]NoDepartment identifiers
arg_idsstring[]NoArgument identifiers
argsCreateArgInput[]NoArguments to create inline
arg_position_idsstring[]NoArgument position identifiers
arg_positionsCreateArgPositionInput[]NoArgument positions to create inline
args_output_idsstring[]NoArgument output identifiers
args_outputs_idsstring[]NoLegacy alias for argument output identifiers
args_outputsCreateArgsOutputInput[]NoArgument outputs to create inline
args_draftsToolArgDraftValue[]NoUnified per-arg drafts for the Arguments step card. When present, takes precedence over the flat arg_ids/arg_position_ids/args_output_ids triple.
instruction_idstringNoInstruction resource identifier
instruction_idsstring[]NoInstruction resource identifiers
permission_idsstring[]NoPermission identifiers
pending_idsstring[]NoPending resource identifiers to preserve
idempotency_keystringNoOperation key for ack semantics
softbooleanNoStage the draft dormant (active=False) — propose; the ack ({idempotency_key, accept}) promotes/rejects it
acceptbooleanNoAccept or reject acknowledgement when idempotency_key is supplied

Response (PatchToolDraftApiResponse)

FieldTypeRequiredDescription
successbooleanYesWhether the draft save succeeded
draft_idstringYesDraft unique identifier
idempotency_keystringNoOperation key echoed back for client correlation
messagestringYesResult message
form_stateapp__infra__tool__types__DraftFormStateNoServer-authoritative form state
Last updated on