Executes a specific tool from your stack with the provided input parameters. This endpoint allows you to programmatically invoke any enabled tool in your stack.
Always validate your input parameters before making the request:
Copy
def validate_email_input(tool_input): required_fields = ["to", "subject", "body"] for field in required_fields: if field not in tool_input: raise ValueError(f"Missing required field: {field}") if not isinstance(tool_input["to"], list): raise ValueError("'to' field must be a list of email addresses") return True# Validate before invokingtry: validate_email_input(email_data["tool_input"]) response = requests.post(endpoint, headers=headers, json=email_data)except ValueError as e: print(f"Invalid input: {e}")
import timeimport randomdef invoke_tool_with_retry(stack_id, tool_id, tool_input, headers, max_retries=3): for attempt in range(max_retries): result = invoke_tool_safely(stack_id, tool_id, tool_input, headers) if result is not None: return result if attempt < max_retries - 1: # Exponential backoff with jitter delay = (2 ** attempt) + random.uniform(0, 1) time.sleep(delay) return None