Tool History
Get version history for a tool.
/api/v1/tools/{tool_id}/historyAuthentication
Syllable-API-KeyrequiredSend Syllable-API-Key in the header.
Need a credential? Create or manage an API token in the Syllable Console.
Parameters
Path parameters
tool_id
integer
path
required
Query parameters
page
integer
query
optional
Page number (0-based)
0Minimum 0Example 0limit
integer
query
optional
Items per page
25Minimum 1Maximum 100Example 25order_by_direction
enum<string>
query
optional
Sort by oldest first (asc) or newest first (desc). Version 1 is always the oldest.
["asc","desc"]Default ascExample ascResponses
200Successful Response
application/json
response
ListResponse_ToolHistoryResponse_
required
5 fields
itemsToolHistoryResponse[]requiredList of items returned from the query
Item schema
itemsToolHistoryResponserequiredAPI response for one row in GET /tools/{tool_id}/history.
13 fields
tool_idintegerrequiredID of the tool
version_numberintegerrequiredMonotonic version for this tool (1 = oldest)
created_atstring (date-time)requiredWhen this version took effect.
updated_bystringrequiredUser who made the change that produced this row
commentsstring | nulloptionalOptional comment stored on the tool for this version
operationstringrequiredWhat produced this row: create, update, or delete
deleted_reasonstring | nulloptionalWhen operation is delete, reason copied from the tool at delete time
service_idintegerrequiredInternal ID of the service this tool belonged to at this version
service_namestring | nulloptionalService display name.
namestringrequiredTool name at this version
descriptionstringrequiredHuman-readable description of the tool at this version
typestringrequiredTool type at this version: 'action', 'endpoint', 'context', or 'log'
definitionToolDefinitionrequiredFull tool definition for this version (same shape as ToolResponse.definition).
9 fields
typeenum<string> | nulloptionalThe action to take when the LLM calls the tool.
["action","endpoint","context","log"]toolInternalToolrequiredThe tool definition to be used by the OpenAI API.
2 fields
typestringoptionalAlways function.
functionDefault functionfunctionToolFunctionrequiredThe tool function definition, including the JSON Schema of its parameters.
3 fields
namestringrequiredThe name of the function/tool call.
descriptionstringrequiredThe description of the tool.
parametersunspecifiedrequiredThe JSON Schema of parameters of the function/tool call.
endpointToolHttpEndpoint | nulloptionalThe configuration for an HTTP API call.
4 options
urlstringrequiredThe endpoint URL of the external service to call.
methodenum<string>requiredThe HTTP method to use for the service call.
["get","post","put","delete"]argument_locationenum<string>requiredHow to pass the arguments to the request.
["body","form","path","query"]timeoutnumber | nulloptionalTimeout in seconds for the HTTP request. Default 20 seconds when not set.
1Maximum 120contextContext | nulloptionalThe configuration for a context tool.
1 options
taskExpressionTask | LoadToolFromFileTask | EventTask | StepsTask | ExpressionTask | LoadToolFromFileTask | EventTask | StepsTask[] | nulloptionalTask implementation details
Item schema
Option 1ExpressionTask | LoadToolFromFileTask | EventTask | StepsTaskoptional4 options
Option 1ExpressionTaskoptional11 fields
idstring | nulloptionalA unique identifier for the task.
configobject | nulloptional1 options
{key}JsonValueoptionalvariablesVariable[] | nulloptionalItem schema
itemsVariablerequired10 fields
valueJsonValue | nullreference defined aboveInitial value of the variable.
valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalExpression that computes the value. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Mutually exclusive with value.
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionoptionalGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
2 fields
expressionstringrequiredCEL expression string.
typestringoptionalCEL expression language selector. Use with object form {"type":"cel","expression":"..."}.
celDefault celOption 2JMESPathExpressionoptionalJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
2 fields
expressionstringrequiredJMESPath expression string.
typeenum<string>optionalJMESPath expression language selector. Use with object form {"type":"jp"|"jmespath","expression":"..."}.
["jp","jmespath"]Default jpOption 2CaseExpressionoptionalConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
1 field
caseConditionalValue[]requiredOrdered conditional branches (reserved for future runtime support).
Item schema
itemsConditionalValuerequired3 fields
valueJsonValue | nullreference defined aboveInitial value of the variable.
valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalExpression that computes the value. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Mutually exclusive with value.
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionrecursive referenceConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionrecursive referenceConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalOption 3stringoptionalOption 4nulloptionalnamestringrequiredThe name of the property.
typeenum<string> | nulloptional["string","number","integer","boolean","object","array","null"]descriptionstring | nulloptionaltitlestring | nulloptionalformatstring | nulloptionalpatternstring | nulloptionalenumstring[] | nulloptionalItem schema
itemsstringrequiredexamplesJsonValue[] | nulloptionalItem schema
itemsJsonValuereference defined abovemetadataContextTaskMetadata | nulloptional1 options
priorityinteger | nulloptionaltoolContextToolInfo | nulloptional2 options
namestring | nulloptionalThe name of the generated tool.
descriptionstring | nulloptionalThe description of the tool.
typestringoptionalexpressionDefault expressionversionstringoptionalv1alphaDefault v1alphainputsInputParameter[]optionalItem schema
itemsInputParameterrequired9 fields
namestringrequiredThe name of the property.
typeenum<string> | nulloptional["string","number","integer","boolean","object","array","null"]descriptionstring | nulloptionaltitlestring | nulloptionalformatstring | nulloptionalpatternstring | nulloptionalenumstring[] | nulloptionalItem schema
itemsstringrequiredexamplesJsonValue[] | nulloptionalItem schema
itemsJsonValuereference defined aboverequiredbooleanoptionaltrueexpressionCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalExpression for task output/logic. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}.
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionreference defined aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionaloutputJsonValue | nullreference defined aboveonExpressionTaskEventsoptionalActions to execute when the configured events occur.
2 fields
startSetValueAction | IncrementAction | CallAction | SayAction[] | nulloptionalActions to execute on the first input from the user.
Item schema
itemsSetValueAction | IncrementAction | CallAction | SayActionrequired4 options
Option 1SetValueActionrequired5 fields
valueJsonValue | nullreference defined aboveInitial value of the variable.
valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalExpression that computes the value. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Mutually exclusive with value.
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionreference defined aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionreference defined aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalactionstringoptionalsetDefault setnamestringrequiredDestination path to mutate (e.g. output.foo).
Option 2IncrementActionrequired4 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionreference defined aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalactionstringoptionalincDefault incnamestringrequiredNumeric destination path to increment.
byintegeroptionalIncrement amount (defaults to 1).
1Option 3CallActionrequired5 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionreference defined aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalactionstringoptionalcallDefault callnamestringrequiredThe name of the tool to call.
argumentsobject | nulloptionalOptional arguments to pass to the tool (supports template strings)
1 options
{key}JsonValuereference defined aboveresultCallResult | nulloptionalOptional deterministic result-capture configuration. When present, selected fields from the tool response are saved into workflow state, so later transitions/conditions/validations can branch on them without the model re-deriving them from tool call history. Currently applied only when the call is routed in inject mode (arguments already complete); hinted/routed calls are not yet supported.
1 options
saveCallResultSaveMapping[]optionalField mappings extracted from the tool response into workflow state.
Item schema
itemsCallResultSaveMappingrequiredOne field-extraction mapping applied to a call action's tool response.
Example: {"from": "is_valid", "to": "is_valid"} Example (derived value): {"from": "status == 'valid'", "to": "is_valid"}
2 fields
fromCelExpression | JMESPathExpression | CaseExpression | stringrequiredExpression evaluated against the parsed tool response body (the JSON the external tool returned). Supported forms: (1) JMESPath string (default for plain strings) — a bare field name for raw passthrough, or a boolean/computed expression for derived values, (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}.
3 options
Option 1CelExpression | JMESPathExpressionrequired2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionreference defined aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringrequiredtostringrequiredWorkflow variable name to store the extracted value under.
Option 4SayActionrequired4 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionreference defined aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionaltextstringrequiredText to apply if the condition is true.
actionstringoptionalsayDefault sayroleenum<string>optionalThe role of the message.
["user","assistant"]Default assistantsubmitSetValueAction | IncrementAction | SaveAction | CallAction | SayAction[] | nulloptionalActions to execute when the tool/step is submitted by the LLM.
Item schema
itemsSetValueAction | IncrementAction | SaveAction | CallAction | SayActionrequired5 options
Option 1SetValueActionreference defined aboveOption 2IncrementActionreference defined aboveOption 3SaveActionrequired4 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionreference defined aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalactionstringoptionalsaveDefault savenamestring | nulloptionalTarget name to save (defaults to global variable).
inputsstring[] | nulloptionalInput field names to persist; None saves all collected inputs.
Item schema
itemsstringrequiredOption 4CallActionreference defined aboveOption 5SayActionreference defined aboveOption 2LoadToolFromFileTaskoptionalBootstraps a tool from a file (for internal developer use only if ENV.local=True).
8 fields
idstring | nulloptionalA unique identifier for the task.
configobject | nulloptional1 options
{key}JsonValuereference defined abovevariablesVariable[] | nulloptionalItem schema
itemsVariablereference defined abovemetadataContextTaskMetadata | nullreference defined abovetoolContextToolInfo | nullreference defined abovetypestringoptionalimportDefault importversionstringoptionalv1alphaDefault v1alphafilestring | string[]requiredThe local path of the tool definition JSON file.
Item schema
Option 1stringrequiredOption 2string[]requiredItem schema
itemsstringrequiredOption 3EventTaskoptional8 fields
idstring | nulloptionalA unique identifier for the task.
configobject | nulloptional1 options
{key}JsonValuereference defined abovevariablesVariable[] | nulloptionalItem schema
itemsVariablereference defined abovemetadataContextTaskMetadata | nullreference defined abovetoolContextToolInfo | nullreference defined abovetypestringoptionaleventDefault eventversionstringoptionalv1alphaDefault v1alphaonEventTaskEventsoptionalActions to execute when the configured events occur.
1 field
startSetValueAction | IncrementAction | CallAction | SayAction[] | nulloptionalActions to execute on the first input from the user.
Item schema
itemsSetValueAction | IncrementAction | CallAction | SayActionrequired4 options
Option 1SetValueActionreference defined aboveOption 2IncrementActionreference defined aboveOption 3CallActionreference defined aboveOption 4SayActionreference defined aboveOption 4StepsTaskoptional9 fields
idstring | nulloptionalA unique identifier for the task.
configobject | nulloptional1 options
{key}JsonValuereference defined abovevariablesVariable[] | nulloptionalItem schema
itemsVariablereference defined abovemetadataContextTaskMetadata | nullreference defined abovetoolContextToolInfo | nullreference defined abovetypestringoptionalstepsDefault stepsversionstringoptionalv1alphaDefault v1alphastartenum<string>optionalControls when the workflow activation lifecycle runs. auto activates at session start; manual activates on first invocation.
["auto","manual"]Default autostepsStep[]optionalItem schema
itemsSteprequired7 fields
idstringrequiredThe unique identifier of the step.
goalstringrequiredThe goal of the step.
instructionsConditionalText | string[]optionalThe instructions for the step.
Item schema
itemsConditionalText | stringrequired2 options
Option 1ConditionalTextrequired2 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionreference defined aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionaltextstringrequiredText to apply if the condition is true.
Option 2stringrequiredtoolsStepToolsoptionalThe tools configuration for the step.
3 fields
callboolean | nulloptionalWhether to force immediate tool call without user interaction.
allowstring[] | nulloptionalList of allowed tool names for this step.
Item schema
itemsstringrequiredallowGoToStepboolean | nulloptionalWhether to expose the go_to_step escape hatch to the LLM. Defaults to disabled.
inputsInputParameter[]optionalThe inputs for the step.
Item schema
itemsInputParameterreference defined aboveonStepEventActionsoptionalThe events that trigger the actions to be executed.
4 fields
startSetValueAction | IncrementAction | CallAction | SayAction[] | nulloptionalActions to execute on the first input from the user.
Item schema
itemsSetValueAction | IncrementAction | CallAction | SayActionrequired4 options
Option 1SetValueActionreference defined aboveOption 2IncrementActionreference defined aboveOption 3CallActionreference defined aboveOption 4SayActionreference defined aboveenterGetValueAction | SetValueAction | IncrementAction | CallAction | SayAction[] | nulloptionalActions to execute when entering a step (before collecting inputs).
Item schema
itemsGetValueAction | SetValueAction | IncrementAction | CallAction | SayActionrequired5 options
Option 1GetValueActionrequired6 fields
valueJsonValue | nullreference defined aboveInitial value of the variable.
valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalExpression that computes the value. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Mutually exclusive with value.
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionreference defined aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionreference defined aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalactionenum<string>optionalPopulate default input values.
["get","load"]Default getinputsstring[] | nulloptionalInput field names to populate; None populates all step inputs.
Item schema
itemsstringrequiredoverwritebooleanoptionalIf False (default), only populate empty inputs. If True, always overwrite.
falseOption 2SetValueActionreference defined aboveOption 3IncrementActionreference defined aboveOption 4CallActionreference defined aboveOption 5SayActionreference defined abovepresubmitGetValueAction | SetValueAction | IncrementAction | SaveAction[] | nulloptionalActions to execute before validation (data-mutation only: set, inc, save). Use this to set default values for required fields that would otherwise fail validation.
Item schema
itemsGetValueAction | SetValueAction | IncrementAction | SaveActionrequired4 options
Option 1GetValueActionreference defined aboveOption 2SetValueActionreference defined aboveOption 3IncrementActionreference defined aboveOption 4SaveActionreference defined abovesubmitSetValueAction | IncrementAction | SaveAction | CallAction | SayAction[] | nulloptionalActions to execute when the tool/step is submitted by the LLM.
Item schema
itemsSetValueAction | IncrementAction | SaveAction | CallAction | SayActionrequired5 options
Option 1SetValueActionreference defined aboveOption 2IncrementActionreference defined aboveOption 3SaveActionreference defined aboveOption 4CallActionreference defined aboveOption 5SayActionreference defined abovenextNextStep | string[]optionalThe next steps to execute.
Item schema
itemsNextStep | stringrequired2 options
Option 1NextSteprequiredRepresents a conditional transition to the next step.
3 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".
4 options
Option 1CelExpression | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle CEL expression object.
Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md
Option 2JMESPathExpressionreference defined aboveJMESPath expression object.
Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar
Option 2CaseExpressionreference defined aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalidstringrequiredThe identifier of the next step.
requiresstring[] | nulloptionalList of input field names required for this transition. Validates that specified inputs are collected before allowing transition.
Item schema
itemsstringrequiredOption 2stringrequiredOption 2ExpressionTask | LoadToolFromFileTask | EventTask | StepsTask[]optionalItem schema
itemsExpressionTask | LoadToolFromFileTask | EventTask | StepsTaskrequired4 options
Option 1ExpressionTaskreference defined aboveOption 2LoadToolFromFileTaskreference defined aboveBootstraps a tool from a file (for internal developer use only if ENV.local=True).
Option 3EventTaskreference defined aboveOption 4StepsTaskreference defined aboveOption 3nulloptionaldefaultsunspecified | object | nulloptionalThe default values for the parameters of the function/tool call.
3 options
Option 1unspecifiedoptionalOption 2objectoptional1 field
{key}ToolParameterDefaultoptionalThe default value for a parameter of a tool call.
1 field
transformToolParameterTransformrequiredThe transform to apply to the value before using it as the default.
4 fields
actionenum<string>optionalThe action to perform on the tool parameter value: default means only set the value (using the format field) if the parameter doesn't exist or is empty, override means always set the value," and remove means "remove the parameter value."
["default","override","remove"]Default defaultwhenToolParameterTransformCondition | nulloptionalOnly apply the transform if the condition is met.
3 options
keystringrequiredThe name of the parameter to check.
valuestringrequiredThe value to check against the parameter.
operatorstring | nulloptionalThe operator to use for the comparison. Currently only supports "eq"
eqConstant eqvalueunspecified | nulloptionalThe default value to use for the parameter.
formatstring | nulloptionalThe string value to use for the parameter. The value will be evaluated with the Python str.format method, for example, Hello, {name}!
Option 3nulloptionalstatic_parametersStaticToolParameter[] | nulloptionalParameters for the tool whose values should be set at config time (i.e., not provided by the LLM).
Item schema
itemsStaticToolParameterrequiredA parameter for the tool whose value should be set at config time.
5 fields
namestringrequiredThe name of the parameter - must be unique within the tool.
descriptionstring | nulloptionalThe description of the parameter.
requiredbooleanrequiredWhether the parameter is required to have a value assigned.
typeenum<string>requiredThe expected type for the parameter.
["string","int","boolean","data_source_list"]defaultunspecified | nulloptionalThe default value for the parameter. If type is string, must be a string. If type is int, must be an int. If type is boolean, must be a boolean. If type is data_source_list, must be a list of strings (data source names).
resultunspecified | nulloptionalThe optional result of the tool call.
optionsToolOptions | nulloptionalThe options for the tool. Ie allows to propagate the tool result to the caller via propagate_tool_result flag.
1 options
propagate_tool_resultbooleanoptionalWhether the tool call result should be propagated to the caller.
falseresponse_displayResponseDisplayConfig | nulloptionalOptional mapping used to format propagated results in live chat responses.
4 options
versionintegeroptional1Default 1typestringrequiredcard-listitems_pathstringrequiredmappingDisplayCardMappingrequiredSupported mappings from one result item to the existing card shape.
11 fields
media.imageUrlstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourceoptionalSelect or interpolate a value from one item in a tool result.
3 fields
pathstring | nulloptionaltemplatestring | nulloptionaldefaultunspecified | nulloptionalOption 6nulloptionalmedia.originalImageWidthstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalmedia.originalImageHeightstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalmedia.maxHeightstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalcontent.headerstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalcontent.subheaderstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalcontent.descriptionstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalcontent.avatarImageUrlstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalcontent.contentAlwaysLeftstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalactionsDisplayActionMapping[]optionalItem schema
itemsDisplayActionMappingrequired6 fields
typeenum<string>required["text","link","button","message"]textstring | integer | number | boolean | DisplayValueSourceoptional5 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
iconenum<string>optional["phone","email","chat","calendar","arrow"]Default arrowlinkstring | integer | number | boolean | DisplayValueSourceoptional5 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
actionIdstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalmessagestring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalctaDisplayCtaMapping | nulloptional5 options
textstring | integer | number | boolean | DisplayValueSourceoptional5 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
iconenum<string>optional["phone","email","chat","calendar","arrow"]Default arrowlinkstring | integer | number | boolean | DisplayValueSourceoptional5 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
actionIdstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalmessagestring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalpageintegerrequiredThe page number of the results (0-based)
page_sizeintegerrequiredThe number of items returned per page
total_pagesinteger | nulloptionalThe total number of pages of results given the indicated page size
total_countinteger | nulloptionalThe total number of items returned from the query
Response example
{
"items": [
{
"tool_id": 0,
"version_number": 0,
"created_at": "string",
"updated_by": "string",
"comments": "string",
"operation": "string",
"deleted_reason": "string",
"service_id": 0,
"service_name": "string",
"name": "string",
"description": "string",
"type": "string",
"definition": {
"type": "string",
"tool": {
"type": "function",
"function": {
"name": "string",
"description": "string",
"parameters": "string"
}
},
"endpoint": "string",
"context": "string",
"defaults": "string",
"static_parameters": "string",
"result": "string",
"options": "string",
"response_display": "string"
}
}
],
"page": 0,
"page_size": 0,
"total_pages": "string",
"total_count": "string"
}422Validation Error
application/json
response
HTTPValidationError
required
1 field
detailValidationError[]optionalItem schema
itemsValidationErrorrequired3 fields
locstring | integer[]requiredItem schema
itemsstring | integerrequired2 options
Option 1stringrequiredOption 2integerrequiredmsgstringrequiredtypestringrequiredResponse example
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
