> For the complete documentation index, see [llms.txt](https://docs.zaia.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zaia.app/documentation/api-reference-alpha/reference/tools.md).

# Tools

## GET /api/v1/tools

> Retrieves multiple tools.

```json
{"openapi":"3.1.0","info":{"title":"Public API","version":"1.0.0"},"servers":[{"description":"API Server","url":"https://api.endless.zaia.app"}],"paths":{"/api/v1/tools":{"get":{"description":"Retrieves multiple tools.","tags":["Tools"],"parameters":[{"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}},{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}],"default":[]},"required":false,"name":"agentIds","in":"query"},{"schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["agents"]}},{"type":"string","enum":["agents"]}],"default":[]},"required":false,"name":"joins","in":"query"},{"schema":{"type":"number","minimum":1,"default":1,"description":"The page number."},"required":false,"description":"The page number.","name":"pageNumber","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":10,"description":"The page size."},"required":false,"description":"The page size.","name":"pageSize","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Search term to filter tools by name or description."},"required":false,"description":"Search term to filter tools by name or description.","name":"search","in":"query"},{"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}},{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}],"default":[]},"required":false,"name":"versionIds","in":"query"},{"schema":{"type":"string","description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page."},"required":true,"description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page.","name":"authorization","in":"header"}],"responses":{"200":{"description":"Retrieves all tools for the workspace.","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"isRemoved":{"type":"boolean"},"referenceId":{"type":"string","nullable":true,"format":"uuid","description":"The ID of the original entity in production."},"updatedAt":{"type":"string","format":"date-time"},"versionId":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"description":{"type":"string","minLength":3,"maxLength":250,"description":"The internal description of the tool."},"detail":{"anyOf":[{"type":"object","properties":{"allowedDomains":{"type":"array","items":{"type":"string","minLength":1},"description":"List of domains allowed in web search results."},"effort":{"type":"string","enum":["low","medium","high"],"description":"Web search effort level."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional OpenAI LLM provider ID to be used in this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be appended alongside queries to instruct the LLM call."},"type":{"type":"string","enum":["agentic-web-search"]}},"required":["allowedDomains","effort","execution","llmProviderId","prompt","type"]},{"type":"object","properties":{"body":{"type":"string","nullable":true,"maxLength":10000,"description":"The body of the HTTP request as JSON string."},"headers":{"type":"string","nullable":true,"maxLength":2000,"description":"The headers of the HTTP request as JSON string."},"method":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"parameters":{"type":"object","description":"The JSON Schema definition of the parameters that will be passed to the HTTP request.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"query":{"type":"string","nullable":true,"maxLength":1000,"description":"The query parameters of the HTTP request as JSON string."},"type":{"type":"string","enum":["http-request"]},"url":{"type":"string","maxLength":500,"format":"uri","description":"The URL to send the HTTP request to. Should not contain query parameters."}},"required":["body","headers","method","parameters","query","type","url"]},{"type":"object","properties":{"code":{"type":"string","maxLength":3000,"description":"The code to be executed. Must contain a function named main that takes no parameters."},"parameters":{"type":"object","description":"The JSON Schema definition of the parameters that will be passed to the code execution tool.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"type":{"type":"string","enum":["code-execution"]}},"required":["code","parameters","type"]},{"type":"object","properties":{"parameters":{"type":"object","description":"The JSON Schema definition of the parameters containing the description of the memory to be stored.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"sensitiveParameters":{"type":"array","items":{"type":"string"},"description":"Wheter the parameters are sensitive and should not be shown."},"type":{"type":"string","enum":["contextual-memory"]}},"required":["parameters","sensitiveParameters","type"]},{"type":"object","properties":{"datasetId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the dataset to search in."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"mode":{"type":"string","enum":["scoped","global"],"description":"The mode of the dataset search."},"type":{"type":"string","enum":["dataset-search"]}},"required":["datasetId","execution","mode","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to update the row in."},"type":{"type":"string","enum":["datagrid-row-update"]}},"required":["datagridId","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to insert the row into."},"type":{"type":"string","enum":["datagrid-row-insertion"]}},"required":["datagridId","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to search the row in."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"results":{"type":"number","description":"The number of results to return to the agent."},"type":{"type":"string","enum":["datagrid-row-semantic-search"]}},"required":["datagridId","execution","results","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to search the row in."},"results":{"type":"number","description":"The number of results to return to the agent."},"type":{"type":"string","enum":["datagrid-row-similarity-search"]}},"required":["datagridId","results","type"]},{"type":"object","properties":{"tagging":{"type":"object","properties":{"allowedIds":{"type":"array","items":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}},"status":{"type":"string","enum":["enabled","disabled"]}},"required":["allowedIds","status"],"description":"Tagging configuration for tickets."},"ticketingTeamId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the ticketing team responsible for the ticket."},"type":{"type":"string","enum":["ticket-creation"]}},"required":["tagging","ticketingTeamId","type"]},{"type":"object","properties":{"tagging":{"type":"object","properties":{"allowedIds":{"type":"array","items":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}},"status":{"type":"string","enum":["enabled","disabled"]}},"required":["allowedIds","status"],"description":"Tagging configuration for chats."},"type":{"type":"string","enum":["chat-tagging"]}},"required":["tagging","type"]},{"type":"object","properties":{"path":{"type":"string","nullable":true,"description":"The path of the trigger to the workflow implementation to execute."},"type":{"type":"string","enum":["workflow-executor"]}},"required":["path","type"]},{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":1000,"description":"Instructions describing what should be scheduled and when."},"target":{"type":"object","properties":{"path":{"type":"string","nullable":true,"description":"The path of the workflow trigger to schedule."},"type":{"type":"string","enum":["workflow"]}},"required":["path","type"]},"type":{"type":"string","enum":["schedule"]}},"required":["prompt","target","type"]},{"type":"object","properties":{"file":{"type":"string","minLength":1},"fileName":{"type":"string","minLength":1,"description":"The name of the PDF file."},"type":{"type":"string","enum":["pdf-reader"]}},"required":["file","fileName","type"]},{"type":"object","properties":{"execution":{"type":"string","enum":["eligible","compulsory"]},"fallback":{"type":"object","nullable":true,"properties":{"prompt":{"type":"string","minLength":1,"maxLength":1000}},"required":["prompt"]},"options":{"type":"array","items":{"type":"object","properties":{"condition":{"type":"string","minLength":3,"maxLength":250},"label":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":1000}},"required":["condition","label","prompt"]}},"type":{"type":"string","enum":["follow-up"]}},"required":["execution","fallback","options","type"]},{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","description":"The ID of the messaging connection to use."},"mode":{"type":"string","enum":["discover","preset"],"description":"The execution mode."},"phoneNumbers":{"type":"array","items":{"type":"object","properties":{"ddi":{"type":"string","description":"The DDI of the phone number."},"phoneNumber":{"type":"string","description":"The phone number to send the message to including the state prefix."}},"required":["ddi","phoneNumber"]},"description":"List of phone numbers for preset mode. Can be an empty array for discover mode."},"sendMode":{"type":"string","enum":["text","text-with-template-fallback","template"],"description":"The message sending mode."},"template":{"type":"object","properties":{"body":{"type":"object","properties":{"text":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"parameterName":{"type":"string"},"value":{"type":"string"}},"required":["parameterName","value"]},"default":[]}}},"buttons":{"type":"object","properties":{"texts":{"type":"array","items":{"type":"string","maxLength":25}},"urlVariables":{"type":"array","items":{"type":"object","properties":{"buttonIndex":{"type":"integer","minimum":0},"value":{"type":"string","maxLength":2000}},"required":["buttonIndex","value"]}}}},"category":{"type":"string","nullable":true,"enum":["AUTHENTICATION","MARKETING","UTILITY",null]},"footer":{"type":"string","maxLength":60},"header":{"type":"object","properties":{"imageUrl":{"type":"string"},"text":{"type":"string","maxLength":60},"variables":{"type":"array","items":{"type":"object","properties":{"parameterName":{"type":"string"},"value":{"type":"string"}},"required":["parameterName","value"]}}}},"language":{"type":"string","minLength":1},"name":{"type":"string","minLength":1}},"required":["language","name"]},"templatePayloadSchema":{"type":"object","description":"A JSON Schema definition object","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"type":{"type":"string","enum":["message-dispatch"]}},"required":["connectionId","mode","phoneNumbers","sendMode","type"]},{"type":"object","properties":{"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional LLM provider ID to be used in this tool call."},"model":{"type":"string","enum":["gpt-image-1","gpt-image-2"],"description":"OpenAI image model to use for this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be prepended to image generation calls."},"provider":{"type":"string","enum":["openai"],"description":"Image generation provider to use for this tool call."},"type":{"type":"string","enum":["image-generation"]}},"required":["llmProviderId","model","prompt","provider","type"]},{"type":"object","properties":{"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional LLM provider ID to be used in this tool call."},"model":{"type":"string","enum":["gemini-3.1-flash-image","gemini-3-pro-image"],"description":"Gemini image model to use for this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be prepended to image generation calls."},"provider":{"type":"string","enum":["google-ai"],"description":"Image generation provider to use for this tool call."},"type":{"type":"string","enum":["image-generation"]}},"required":["llmProviderId","model","prompt","provider","type"]},{"type":"object","properties":{"delay":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":60000,"description":"An optional delay in milliseconds to be waited after the event is emitted and, if applicable, a response is received."},"event":{"type":"string","minLength":3,"maxLength":50,"pattern":"^[A-Za-z0-9_-]+$","description":"The name of the client-side event to listen for."},"mock":{"type":"object","properties":{"delay":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":60000,"description":"An optional delay in milliseconds before returning the mock response when testing."},"response":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"An optional mock response to be returned when testing."}},"required":["delay","response"],"description":"Optional mock configuration for testing purposes."},"parameters":{"type":"object","description":"The JSON schema of the parameters to pass with the event.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"payload":{"type":"string","nullable":true,"description":"An optional payload to bind parameters to."},"timeout":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":300000,"description":"The maximum time in milliseconds to wait for a response before timing out."},"type":{"type":"string","enum":["client-side-call"]},"waitResponse":{"type":"boolean","description":"Whether to wait for a response after emitting the event."}},"required":["delay","event","mock","parameters","payload","timeout","type","waitResponse"]}]},"lastExecutedAt":{"type":"string","nullable":true,"format":"date-time","description":"When this tool was last executed."},"name":{"type":"string","minLength":3,"maxLength":50,"description":"The display name of the tool."},"workspaceId":{"type":"string","format":"uuid","description":"The workspace ID that owns the tool."},"agentTools":{"type":"array","items":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"agentId":{"type":"string","format":"uuid","description":"The id of the agent to link the tool to."},"toolId":{"type":"string","format":"uuid","description":"The id of the tool to link to the agent."},"agent":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"isRemoved":{"type":"boolean"},"referenceId":{"type":"string","nullable":true,"format":"uuid","description":"The ID of the original entity in production."},"updatedAt":{"type":"string","format":"date-time"},"versionId":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"codeRuntime":{"type":"boolean","description":"Whether the agent should be able to execute JavaScript code using the Code Runtime tool."},"internalName":{"type":"string","nullable":true,"minLength":3,"maxLength":50,"description":"The internal name of the agent. For internal use only."},"iterations":{"type":"number","minimum":2,"maximum":100,"description":"The number of iterations (steps) the agent can execute in a single execution."},"lastExecutedAt":{"type":"string","nullable":true,"format":"date-time","description":"When this agent was last executed."},"llm":{"type":"string","enum":["claude-haiku-4-5","claude-opus-4-8","claude-opus-4-6","claude-opus-4-5","claude-sonnet-4-6","claude-sonnet-4-5","gpt-5.2","gpt-5.5","gpt-5.4","gpt-5.4-mini","gpt-5.4-nano","gpt-5.6-luna","gpt-5.6-sol","gpt-5.6-terra","gemini-2.5-flash","gemini-2.5-pro","gemini-3.5-flash","gemini-3-flash","gemini-3-pro","gemini-3.1-pro","kimi-k2.5","kimi-k2.6","grok-4.3","grok-4.5"],"description":"The LLM model key to use for the agent."},"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the LLM provider to use for the agent."},"name":{"type":"string","minLength":3,"maxLength":50,"description":"The name of the agent."},"picture":{"type":"string","nullable":true,"description":"The picture of the agent."},"planning":{"type":"boolean","description":"Whether the agent should plan before each execution."},"prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"The main description of the agent's behavior."},"reasoningMode":{"type":"string","nullable":true,"enum":["low","medium","high","xhigh",null],"description":"The reasoning mode to use for the agent. If null, reasoning will be disabled."},"role":{"type":"string","minLength":1,"maxLength":250,"description":"The role of the agent. Particularly useful to give other agents context of what the agent does."},"superIdentityId":{"type":"string","format":"uuid","description":"The super identity ID associated with the agent."},"temperature":{"type":"number","minimum":0,"maximum":2,"description":"The temperature to use for the agent. The lower the more deterministic. The higher the more creative."},"timezone":{"type":"string","nullable":true,"enum":["Africa/Cairo","Africa/Johannesburg","America/Chicago","America/Denver","America/Los_Angeles","America/New_York","America/Sao_Paulo","America/Manaus","Asia/Dubai","Asia/Kolkata","Asia/Shanghai","Asia/Singapore","Asia/Tokyo","Australia/Sydney","Europe/Berlin","Europe/London","Europe/Moscow","Europe/Paris","Pacific/Auckland","Pacific/Auckland2","UTC","auto",null],"description":"The timezone to use for the agent. If null, no timezone will be used."},"toolCount":{"type":"integer","minimum":0,"description":"The number of tools currently associated with the agent."},"voiceId":{"type":"string","nullable":true,"format":"uuid","description":"The TTS voice to use for audio responses. Null when disabled for the agent."},"workspaceId":{"type":"string","format":"uuid","description":"The workspace ID that owns the agent."}},"required":["createdAt","id","isRemoved","referenceId","updatedAt","versionId","codeRuntime","internalName","iterations","lastExecutedAt","llm","llmProviderId","name","picture","planning","prompt","reasoningMode","role","superIdentityId","temperature","timezone","toolCount","voiceId","workspaceId"]}},"required":["createdAt","updatedAt","agentId","toolId","agent"]}}},"required":["createdAt","id","isRemoved","referenceId","updatedAt","versionId","description","detail","lastExecutedAt","name","workspaceId","agentTools"]},{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"isRemoved":{"type":"boolean"},"referenceId":{"type":"string","nullable":true,"format":"uuid","description":"The ID of the original entity in production."},"updatedAt":{"type":"string","format":"date-time"},"versionId":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"description":{"type":"string","minLength":3,"maxLength":250,"description":"The internal description of the tool."},"detail":{"anyOf":[{"type":"object","properties":{"allowedDomains":{"type":"array","items":{"type":"string","minLength":1},"description":"List of domains allowed in web search results."},"effort":{"type":"string","enum":["low","medium","high"],"description":"Web search effort level."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional OpenAI LLM provider ID to be used in this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be appended alongside queries to instruct the LLM call."},"type":{"type":"string","enum":["agentic-web-search"]}},"required":["allowedDomains","effort","execution","llmProviderId","prompt","type"]},{"type":"object","properties":{"body":{"type":"string","nullable":true,"maxLength":10000,"description":"The body of the HTTP request as JSON string."},"headers":{"type":"string","nullable":true,"maxLength":2000,"description":"The headers of the HTTP request as JSON string."},"method":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"parameters":{"type":"object","description":"The JSON Schema definition of the parameters that will be passed to the HTTP request.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"query":{"type":"string","nullable":true,"maxLength":1000,"description":"The query parameters of the HTTP request as JSON string."},"type":{"type":"string","enum":["http-request"]},"url":{"type":"string","maxLength":500,"format":"uri","description":"The URL to send the HTTP request to. Should not contain query parameters."}},"required":["body","headers","method","parameters","query","type","url"]},{"type":"object","properties":{"code":{"type":"string","maxLength":3000,"description":"The code to be executed. Must contain a function named main that takes no parameters."},"parameters":{"type":"object","description":"The JSON Schema definition of the parameters that will be passed to the code execution tool.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"type":{"type":"string","enum":["code-execution"]}},"required":["code","parameters","type"]},{"type":"object","properties":{"parameters":{"type":"object","description":"The JSON Schema definition of the parameters containing the description of the memory to be stored.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"sensitiveParameters":{"type":"array","items":{"type":"string"},"description":"Wheter the parameters are sensitive and should not be shown."},"type":{"type":"string","enum":["contextual-memory"]}},"required":["parameters","sensitiveParameters","type"]},{"type":"object","properties":{"datasetId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the dataset to search in."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"mode":{"type":"string","enum":["scoped","global"],"description":"The mode of the dataset search."},"type":{"type":"string","enum":["dataset-search"]}},"required":["datasetId","execution","mode","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to update the row in."},"type":{"type":"string","enum":["datagrid-row-update"]}},"required":["datagridId","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to insert the row into."},"type":{"type":"string","enum":["datagrid-row-insertion"]}},"required":["datagridId","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to search the row in."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"results":{"type":"number","description":"The number of results to return to the agent."},"type":{"type":"string","enum":["datagrid-row-semantic-search"]}},"required":["datagridId","execution","results","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to search the row in."},"results":{"type":"number","description":"The number of results to return to the agent."},"type":{"type":"string","enum":["datagrid-row-similarity-search"]}},"required":["datagridId","results","type"]},{"type":"object","properties":{"tagging":{"type":"object","properties":{"allowedIds":{"type":"array","items":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}},"status":{"type":"string","enum":["enabled","disabled"]}},"required":["allowedIds","status"],"description":"Tagging configuration for tickets."},"ticketingTeamId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the ticketing team responsible for the ticket."},"type":{"type":"string","enum":["ticket-creation"]}},"required":["tagging","ticketingTeamId","type"]},{"type":"object","properties":{"tagging":{"type":"object","properties":{"allowedIds":{"type":"array","items":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}},"status":{"type":"string","enum":["enabled","disabled"]}},"required":["allowedIds","status"],"description":"Tagging configuration for chats."},"type":{"type":"string","enum":["chat-tagging"]}},"required":["tagging","type"]},{"type":"object","properties":{"path":{"type":"string","nullable":true,"description":"The path of the trigger to the workflow implementation to execute."},"type":{"type":"string","enum":["workflow-executor"]}},"required":["path","type"]},{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":1000,"description":"Instructions describing what should be scheduled and when."},"target":{"type":"object","properties":{"path":{"type":"string","nullable":true,"description":"The path of the workflow trigger to schedule."},"type":{"type":"string","enum":["workflow"]}},"required":["path","type"]},"type":{"type":"string","enum":["schedule"]}},"required":["prompt","target","type"]},{"type":"object","properties":{"file":{"type":"string","minLength":1},"fileName":{"type":"string","minLength":1,"description":"The name of the PDF file."},"type":{"type":"string","enum":["pdf-reader"]}},"required":["file","fileName","type"]},{"type":"object","properties":{"execution":{"type":"string","enum":["eligible","compulsory"]},"fallback":{"type":"object","nullable":true,"properties":{"prompt":{"type":"string","minLength":1,"maxLength":1000}},"required":["prompt"]},"options":{"type":"array","items":{"type":"object","properties":{"condition":{"type":"string","minLength":3,"maxLength":250},"label":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":1000}},"required":["condition","label","prompt"]}},"type":{"type":"string","enum":["follow-up"]}},"required":["execution","fallback","options","type"]},{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","description":"The ID of the messaging connection to use."},"mode":{"type":"string","enum":["discover","preset"],"description":"The execution mode."},"phoneNumbers":{"type":"array","items":{"type":"object","properties":{"ddi":{"type":"string","description":"The DDI of the phone number."},"phoneNumber":{"type":"string","description":"The phone number to send the message to including the state prefix."}},"required":["ddi","phoneNumber"]},"description":"List of phone numbers for preset mode. Can be an empty array for discover mode."},"sendMode":{"type":"string","enum":["text","text-with-template-fallback","template"],"description":"The message sending mode."},"template":{"type":"object","properties":{"body":{"type":"object","properties":{"text":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"parameterName":{"type":"string"},"value":{"type":"string"}},"required":["parameterName","value"]},"default":[]}}},"buttons":{"type":"object","properties":{"texts":{"type":"array","items":{"type":"string","maxLength":25}},"urlVariables":{"type":"array","items":{"type":"object","properties":{"buttonIndex":{"type":"integer","minimum":0},"value":{"type":"string","maxLength":2000}},"required":["buttonIndex","value"]}}}},"category":{"type":"string","nullable":true,"enum":["AUTHENTICATION","MARKETING","UTILITY",null]},"footer":{"type":"string","maxLength":60},"header":{"type":"object","properties":{"imageUrl":{"type":"string"},"text":{"type":"string","maxLength":60},"variables":{"type":"array","items":{"type":"object","properties":{"parameterName":{"type":"string"},"value":{"type":"string"}},"required":["parameterName","value"]}}}},"language":{"type":"string","minLength":1},"name":{"type":"string","minLength":1}},"required":["language","name"]},"templatePayloadSchema":{"type":"object","description":"A JSON Schema definition object","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"type":{"type":"string","enum":["message-dispatch"]}},"required":["connectionId","mode","phoneNumbers","sendMode","type"]},{"type":"object","properties":{"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional LLM provider ID to be used in this tool call."},"model":{"type":"string","enum":["gpt-image-1","gpt-image-2"],"description":"OpenAI image model to use for this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be prepended to image generation calls."},"provider":{"type":"string","enum":["openai"],"description":"Image generation provider to use for this tool call."},"type":{"type":"string","enum":["image-generation"]}},"required":["llmProviderId","model","prompt","provider","type"]},{"type":"object","properties":{"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional LLM provider ID to be used in this tool call."},"model":{"type":"string","enum":["gemini-3.1-flash-image","gemini-3-pro-image"],"description":"Gemini image model to use for this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be prepended to image generation calls."},"provider":{"type":"string","enum":["google-ai"],"description":"Image generation provider to use for this tool call."},"type":{"type":"string","enum":["image-generation"]}},"required":["llmProviderId","model","prompt","provider","type"]},{"type":"object","properties":{"delay":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":60000,"description":"An optional delay in milliseconds to be waited after the event is emitted and, if applicable, a response is received."},"event":{"type":"string","minLength":3,"maxLength":50,"pattern":"^[A-Za-z0-9_-]+$","description":"The name of the client-side event to listen for."},"mock":{"type":"object","properties":{"delay":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":60000,"description":"An optional delay in milliseconds before returning the mock response when testing."},"response":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"An optional mock response to be returned when testing."}},"required":["delay","response"],"description":"Optional mock configuration for testing purposes."},"parameters":{"type":"object","description":"The JSON schema of the parameters to pass with the event.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"payload":{"type":"string","nullable":true,"description":"An optional payload to bind parameters to."},"timeout":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":300000,"description":"The maximum time in milliseconds to wait for a response before timing out."},"type":{"type":"string","enum":["client-side-call"]},"waitResponse":{"type":"boolean","description":"Whether to wait for a response after emitting the event."}},"required":["delay","event","mock","parameters","payload","timeout","type","waitResponse"]}]},"lastExecutedAt":{"type":"string","nullable":true,"format":"date-time","description":"When this tool was last executed."},"name":{"type":"string","minLength":3,"maxLength":50,"description":"The display name of the tool."},"workspaceId":{"type":"string","format":"uuid","description":"The workspace ID that owns the tool."}},"required":["createdAt","id","isRemoved","referenceId","updatedAt","versionId","description","detail","lastExecutedAt","name","workspaceId"]}]}}}}},"401":{"description":"Unauthorized.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}}}}}}}
```

## POST /api/v1/tools

> Creates a new tool.

```json
{"openapi":"3.1.0","info":{"title":"Public API","version":"1.0.0"},"servers":[{"description":"API Server","url":"https://api.endless.zaia.app"}],"paths":{"/api/v1/tools":{"post":{"description":"Creates a new tool.","tags":["Tools"],"parameters":[{"schema":{"type":"string","description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page."},"required":true,"description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page.","name":"authorization","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","minLength":3,"maxLength":250,"description":"The internal description of the tool."},"detail":{"anyOf":[{"type":"object","properties":{"allowedDomains":{"type":"array","items":{"type":"string","minLength":1},"description":"List of domains allowed in web search results."},"effort":{"type":"string","enum":["low","medium","high"],"description":"Web search effort level."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional OpenAI LLM provider ID to be used in this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be appended alongside queries to instruct the LLM call."},"type":{"type":"string","enum":["agentic-web-search"]}},"required":["allowedDomains","effort","execution","llmProviderId","prompt","type"]},{"type":"object","properties":{"body":{"type":"string","nullable":true,"maxLength":10000,"description":"The body of the HTTP request as JSON string."},"headers":{"type":"string","nullable":true,"maxLength":2000,"description":"The headers of the HTTP request as JSON string."},"method":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"parameters":{"type":"object","description":"The JSON Schema definition of the parameters that will be passed to the HTTP request.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"query":{"type":"string","nullable":true,"maxLength":1000,"description":"The query parameters of the HTTP request as JSON string."},"type":{"type":"string","enum":["http-request"]},"url":{"type":"string","maxLength":500,"format":"uri","description":"The URL to send the HTTP request to. Should not contain query parameters."}},"required":["body","headers","method","parameters","query","type","url"]},{"type":"object","properties":{"code":{"type":"string","maxLength":3000,"description":"The code to be executed. Must contain a function named main that takes no parameters."},"parameters":{"type":"object","description":"The JSON Schema definition of the parameters that will be passed to the code execution tool.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"type":{"type":"string","enum":["code-execution"]}},"required":["code","parameters","type"]},{"type":"object","properties":{"parameters":{"type":"object","description":"The JSON Schema definition of the parameters containing the description of the memory to be stored.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"sensitiveParameters":{"type":"array","items":{"type":"string"},"description":"Wheter the parameters are sensitive and should not be shown."},"type":{"type":"string","enum":["contextual-memory"]}},"required":["parameters","sensitiveParameters","type"]},{"type":"object","properties":{"datasetId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the dataset to search in."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"mode":{"type":"string","enum":["scoped","global"],"description":"The mode of the dataset search."},"type":{"type":"string","enum":["dataset-search"]}},"required":["datasetId","execution","mode","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to update the row in."},"type":{"type":"string","enum":["datagrid-row-update"]}},"required":["datagridId","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to insert the row into."},"type":{"type":"string","enum":["datagrid-row-insertion"]}},"required":["datagridId","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to search the row in."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"results":{"type":"number","description":"The number of results to return to the agent."},"type":{"type":"string","enum":["datagrid-row-semantic-search"]}},"required":["datagridId","execution","results","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to search the row in."},"results":{"type":"number","description":"The number of results to return to the agent."},"type":{"type":"string","enum":["datagrid-row-similarity-search"]}},"required":["datagridId","results","type"]},{"type":"object","properties":{"tagging":{"type":"object","properties":{"allowedIds":{"type":"array","items":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}},"status":{"type":"string","enum":["enabled","disabled"]}},"required":["allowedIds","status"],"description":"Tagging configuration for tickets."},"ticketingTeamId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the ticketing team responsible for the ticket."},"type":{"type":"string","enum":["ticket-creation"]}},"required":["tagging","ticketingTeamId","type"]},{"type":"object","properties":{"tagging":{"type":"object","properties":{"allowedIds":{"type":"array","items":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}},"status":{"type":"string","enum":["enabled","disabled"]}},"required":["allowedIds","status"],"description":"Tagging configuration for chats."},"type":{"type":"string","enum":["chat-tagging"]}},"required":["tagging","type"]},{"type":"object","properties":{"path":{"type":"string","nullable":true,"description":"The path of the trigger to the workflow implementation to execute."},"type":{"type":"string","enum":["workflow-executor"]}},"required":["path","type"]},{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":1000,"description":"Instructions describing what should be scheduled and when."},"target":{"type":"object","properties":{"path":{"type":"string","nullable":true,"description":"The path of the workflow trigger to schedule."},"type":{"type":"string","enum":["workflow"]}},"required":["path","type"]},"type":{"type":"string","enum":["schedule"]}},"required":["prompt","target","type"]},{"type":"object","properties":{"file":{"type":"string","minLength":1},"fileName":{"type":"string","minLength":1,"description":"The name of the PDF file."},"type":{"type":"string","enum":["pdf-reader"]}},"required":["file","fileName","type"]},{"type":"object","properties":{"execution":{"type":"string","enum":["eligible","compulsory"]},"fallback":{"type":"object","nullable":true,"properties":{"prompt":{"type":"string","minLength":1,"maxLength":1000}},"required":["prompt"]},"options":{"type":"array","items":{"type":"object","properties":{"condition":{"type":"string","minLength":3,"maxLength":250},"label":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":1000}},"required":["condition","label","prompt"]}},"type":{"type":"string","enum":["follow-up"]}},"required":["execution","fallback","options","type"]},{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","description":"The ID of the messaging connection to use."},"mode":{"type":"string","enum":["discover","preset"],"description":"The execution mode."},"phoneNumbers":{"type":"array","items":{"type":"object","properties":{"ddi":{"type":"string","description":"The DDI of the phone number."},"phoneNumber":{"type":"string","description":"The phone number to send the message to including the state prefix."}},"required":["ddi","phoneNumber"]},"description":"List of phone numbers for preset mode. Can be an empty array for discover mode."},"sendMode":{"type":"string","enum":["text","text-with-template-fallback","template"],"description":"The message sending mode."},"template":{"type":"object","properties":{"body":{"type":"object","properties":{"text":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"parameterName":{"type":"string"},"value":{"type":"string"}},"required":["parameterName","value"]},"default":[]}}},"buttons":{"type":"object","properties":{"texts":{"type":"array","items":{"type":"string","maxLength":25}},"urlVariables":{"type":"array","items":{"type":"object","properties":{"buttonIndex":{"type":"integer","minimum":0},"value":{"type":"string","maxLength":2000}},"required":["buttonIndex","value"]}}}},"category":{"type":"string","nullable":true,"enum":["AUTHENTICATION","MARKETING","UTILITY",null]},"footer":{"type":"string","maxLength":60},"header":{"type":"object","properties":{"imageUrl":{"type":"string"},"text":{"type":"string","maxLength":60},"variables":{"type":"array","items":{"type":"object","properties":{"parameterName":{"type":"string"},"value":{"type":"string"}},"required":["parameterName","value"]}}}},"language":{"type":"string","minLength":1},"name":{"type":"string","minLength":1}},"required":["language","name"]},"templatePayloadSchema":{"type":"object","description":"A JSON Schema definition object","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"type":{"type":"string","enum":["message-dispatch"]}},"required":["connectionId","mode","phoneNumbers","sendMode","type"]},{"type":"object","properties":{"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional LLM provider ID to be used in this tool call."},"model":{"type":"string","enum":["gpt-image-1","gpt-image-2"],"description":"OpenAI image model to use for this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be prepended to image generation calls."},"provider":{"type":"string","enum":["openai"],"description":"Image generation provider to use for this tool call."},"type":{"type":"string","enum":["image-generation"]}},"required":["llmProviderId","model","prompt","provider","type"]},{"type":"object","properties":{"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional LLM provider ID to be used in this tool call."},"model":{"type":"string","enum":["gemini-3.1-flash-image","gemini-3-pro-image"],"description":"Gemini image model to use for this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be prepended to image generation calls."},"provider":{"type":"string","enum":["google-ai"],"description":"Image generation provider to use for this tool call."},"type":{"type":"string","enum":["image-generation"]}},"required":["llmProviderId","model","prompt","provider","type"]},{"type":"object","properties":{"delay":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":60000,"description":"An optional delay in milliseconds to be waited after the event is emitted and, if applicable, a response is received."},"event":{"type":"string","minLength":3,"maxLength":50,"pattern":"^[A-Za-z0-9_-]+$","description":"The name of the client-side event to listen for."},"mock":{"type":"object","properties":{"delay":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":60000,"description":"An optional delay in milliseconds before returning the mock response when testing."},"response":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"An optional mock response to be returned when testing."}},"required":["delay","response"],"description":"Optional mock configuration for testing purposes."},"parameters":{"type":"object","description":"The JSON schema of the parameters to pass with the event.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"payload":{"type":"string","nullable":true,"description":"An optional payload to bind parameters to."},"timeout":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":300000,"description":"The maximum time in milliseconds to wait for a response before timing out."},"type":{"type":"string","enum":["client-side-call"]},"waitResponse":{"type":"boolean","description":"Whether to wait for a response after emitting the event."}},"required":["delay","event","mock","parameters","payload","timeout","type","waitResponse"]}]},"name":{"type":"string","minLength":3,"maxLength":50,"description":"The display name of the tool."}},"required":["description","detail","name"]}}}},"responses":{"200":{"description":"The tool was created.","content":{"application/json":{"schema":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"isRemoved":{"type":"boolean"},"referenceId":{"type":"string","nullable":true,"format":"uuid","description":"The ID of the original entity in production."},"updatedAt":{"type":"string","format":"date-time"},"versionId":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"description":{"type":"string","minLength":3,"maxLength":250,"description":"The internal description of the tool."},"detail":{"anyOf":[{"type":"object","properties":{"allowedDomains":{"type":"array","items":{"type":"string","minLength":1},"description":"List of domains allowed in web search results."},"effort":{"type":"string","enum":["low","medium","high"],"description":"Web search effort level."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional OpenAI LLM provider ID to be used in this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be appended alongside queries to instruct the LLM call."},"type":{"type":"string","enum":["agentic-web-search"]}},"required":["allowedDomains","effort","execution","llmProviderId","prompt","type"]},{"type":"object","properties":{"body":{"type":"string","nullable":true,"maxLength":10000,"description":"The body of the HTTP request as JSON string."},"headers":{"type":"string","nullable":true,"maxLength":2000,"description":"The headers of the HTTP request as JSON string."},"method":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"parameters":{"type":"object","description":"The JSON Schema definition of the parameters that will be passed to the HTTP request.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"query":{"type":"string","nullable":true,"maxLength":1000,"description":"The query parameters of the HTTP request as JSON string."},"type":{"type":"string","enum":["http-request"]},"url":{"type":"string","maxLength":500,"format":"uri","description":"The URL to send the HTTP request to. Should not contain query parameters."}},"required":["body","headers","method","parameters","query","type","url"]},{"type":"object","properties":{"code":{"type":"string","maxLength":3000,"description":"The code to be executed. Must contain a function named main that takes no parameters."},"parameters":{"type":"object","description":"The JSON Schema definition of the parameters that will be passed to the code execution tool.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"type":{"type":"string","enum":["code-execution"]}},"required":["code","parameters","type"]},{"type":"object","properties":{"parameters":{"type":"object","description":"The JSON Schema definition of the parameters containing the description of the memory to be stored.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"sensitiveParameters":{"type":"array","items":{"type":"string"},"description":"Wheter the parameters are sensitive and should not be shown."},"type":{"type":"string","enum":["contextual-memory"]}},"required":["parameters","sensitiveParameters","type"]},{"type":"object","properties":{"datasetId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the dataset to search in."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"mode":{"type":"string","enum":["scoped","global"],"description":"The mode of the dataset search."},"type":{"type":"string","enum":["dataset-search"]}},"required":["datasetId","execution","mode","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to update the row in."},"type":{"type":"string","enum":["datagrid-row-update"]}},"required":["datagridId","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to insert the row into."},"type":{"type":"string","enum":["datagrid-row-insertion"]}},"required":["datagridId","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to search the row in."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"results":{"type":"number","description":"The number of results to return to the agent."},"type":{"type":"string","enum":["datagrid-row-semantic-search"]}},"required":["datagridId","execution","results","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to search the row in."},"results":{"type":"number","description":"The number of results to return to the agent."},"type":{"type":"string","enum":["datagrid-row-similarity-search"]}},"required":["datagridId","results","type"]},{"type":"object","properties":{"tagging":{"type":"object","properties":{"allowedIds":{"type":"array","items":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}},"status":{"type":"string","enum":["enabled","disabled"]}},"required":["allowedIds","status"],"description":"Tagging configuration for tickets."},"ticketingTeamId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the ticketing team responsible for the ticket."},"type":{"type":"string","enum":["ticket-creation"]}},"required":["tagging","ticketingTeamId","type"]},{"type":"object","properties":{"tagging":{"type":"object","properties":{"allowedIds":{"type":"array","items":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}},"status":{"type":"string","enum":["enabled","disabled"]}},"required":["allowedIds","status"],"description":"Tagging configuration for chats."},"type":{"type":"string","enum":["chat-tagging"]}},"required":["tagging","type"]},{"type":"object","properties":{"path":{"type":"string","nullable":true,"description":"The path of the trigger to the workflow implementation to execute."},"type":{"type":"string","enum":["workflow-executor"]}},"required":["path","type"]},{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":1000,"description":"Instructions describing what should be scheduled and when."},"target":{"type":"object","properties":{"path":{"type":"string","nullable":true,"description":"The path of the workflow trigger to schedule."},"type":{"type":"string","enum":["workflow"]}},"required":["path","type"]},"type":{"type":"string","enum":["schedule"]}},"required":["prompt","target","type"]},{"type":"object","properties":{"file":{"type":"string","minLength":1},"fileName":{"type":"string","minLength":1,"description":"The name of the PDF file."},"type":{"type":"string","enum":["pdf-reader"]}},"required":["file","fileName","type"]},{"type":"object","properties":{"execution":{"type":"string","enum":["eligible","compulsory"]},"fallback":{"type":"object","nullable":true,"properties":{"prompt":{"type":"string","minLength":1,"maxLength":1000}},"required":["prompt"]},"options":{"type":"array","items":{"type":"object","properties":{"condition":{"type":"string","minLength":3,"maxLength":250},"label":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":1000}},"required":["condition","label","prompt"]}},"type":{"type":"string","enum":["follow-up"]}},"required":["execution","fallback","options","type"]},{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","description":"The ID of the messaging connection to use."},"mode":{"type":"string","enum":["discover","preset"],"description":"The execution mode."},"phoneNumbers":{"type":"array","items":{"type":"object","properties":{"ddi":{"type":"string","description":"The DDI of the phone number."},"phoneNumber":{"type":"string","description":"The phone number to send the message to including the state prefix."}},"required":["ddi","phoneNumber"]},"description":"List of phone numbers for preset mode. Can be an empty array for discover mode."},"sendMode":{"type":"string","enum":["text","text-with-template-fallback","template"],"description":"The message sending mode."},"template":{"type":"object","properties":{"body":{"type":"object","properties":{"text":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"parameterName":{"type":"string"},"value":{"type":"string"}},"required":["parameterName","value"]},"default":[]}}},"buttons":{"type":"object","properties":{"texts":{"type":"array","items":{"type":"string","maxLength":25}},"urlVariables":{"type":"array","items":{"type":"object","properties":{"buttonIndex":{"type":"integer","minimum":0},"value":{"type":"string","maxLength":2000}},"required":["buttonIndex","value"]}}}},"category":{"type":"string","nullable":true,"enum":["AUTHENTICATION","MARKETING","UTILITY",null]},"footer":{"type":"string","maxLength":60},"header":{"type":"object","properties":{"imageUrl":{"type":"string"},"text":{"type":"string","maxLength":60},"variables":{"type":"array","items":{"type":"object","properties":{"parameterName":{"type":"string"},"value":{"type":"string"}},"required":["parameterName","value"]}}}},"language":{"type":"string","minLength":1},"name":{"type":"string","minLength":1}},"required":["language","name"]},"templatePayloadSchema":{"type":"object","description":"A JSON Schema definition object","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"type":{"type":"string","enum":["message-dispatch"]}},"required":["connectionId","mode","phoneNumbers","sendMode","type"]},{"type":"object","properties":{"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional LLM provider ID to be used in this tool call."},"model":{"type":"string","enum":["gpt-image-1","gpt-image-2"],"description":"OpenAI image model to use for this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be prepended to image generation calls."},"provider":{"type":"string","enum":["openai"],"description":"Image generation provider to use for this tool call."},"type":{"type":"string","enum":["image-generation"]}},"required":["llmProviderId","model","prompt","provider","type"]},{"type":"object","properties":{"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional LLM provider ID to be used in this tool call."},"model":{"type":"string","enum":["gemini-3.1-flash-image","gemini-3-pro-image"],"description":"Gemini image model to use for this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be prepended to image generation calls."},"provider":{"type":"string","enum":["google-ai"],"description":"Image generation provider to use for this tool call."},"type":{"type":"string","enum":["image-generation"]}},"required":["llmProviderId","model","prompt","provider","type"]},{"type":"object","properties":{"delay":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":60000,"description":"An optional delay in milliseconds to be waited after the event is emitted and, if applicable, a response is received."},"event":{"type":"string","minLength":3,"maxLength":50,"pattern":"^[A-Za-z0-9_-]+$","description":"The name of the client-side event to listen for."},"mock":{"type":"object","properties":{"delay":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":60000,"description":"An optional delay in milliseconds before returning the mock response when testing."},"response":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"An optional mock response to be returned when testing."}},"required":["delay","response"],"description":"Optional mock configuration for testing purposes."},"parameters":{"type":"object","description":"The JSON schema of the parameters to pass with the event.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"payload":{"type":"string","nullable":true,"description":"An optional payload to bind parameters to."},"timeout":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":300000,"description":"The maximum time in milliseconds to wait for a response before timing out."},"type":{"type":"string","enum":["client-side-call"]},"waitResponse":{"type":"boolean","description":"Whether to wait for a response after emitting the event."}},"required":["delay","event","mock","parameters","payload","timeout","type","waitResponse"]}]},"lastExecutedAt":{"type":"string","nullable":true,"format":"date-time","description":"When this tool was last executed."},"name":{"type":"string","minLength":3,"maxLength":50,"description":"The display name of the tool."},"workspaceId":{"type":"string","format":"uuid","description":"The workspace ID that owns the tool."}},"required":["createdAt","id","isRemoved","referenceId","updatedAt","versionId","description","detail","lastExecutedAt","name","workspaceId"]}}}},"400":{"description":"Invalid tool configuration.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}},"401":{"description":"Unauthorized.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}}}}}}}
```

## GET /api/v1/tools/{id}

> Retrieves a tool.

```json
{"openapi":"3.1.0","info":{"title":"Public API","version":"1.0.0"},"servers":[{"description":"API Server","url":"https://api.endless.zaia.app"}],"paths":{"/api/v1/tools/{id}":{"get":{"description":"Retrieves a tool.","tags":["Tools"],"parameters":[{"schema":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"required":true,"description":"A UUID v4 string that identifies an entity.","name":"id","in":"path"},{"schema":{"type":"string","description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page."},"required":true,"description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page.","name":"authorization","in":"header"}],"responses":{"200":{"description":"Retrieves a tool.","content":{"application/json":{"schema":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"isRemoved":{"type":"boolean"},"referenceId":{"type":"string","nullable":true,"format":"uuid","description":"The ID of the original entity in production."},"updatedAt":{"type":"string","format":"date-time"},"versionId":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"description":{"type":"string","minLength":3,"maxLength":250,"description":"The internal description of the tool."},"detail":{"anyOf":[{"type":"object","properties":{"allowedDomains":{"type":"array","items":{"type":"string","minLength":1},"description":"List of domains allowed in web search results."},"effort":{"type":"string","enum":["low","medium","high"],"description":"Web search effort level."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional OpenAI LLM provider ID to be used in this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be appended alongside queries to instruct the LLM call."},"type":{"type":"string","enum":["agentic-web-search"]}},"required":["allowedDomains","effort","execution","llmProviderId","prompt","type"]},{"type":"object","properties":{"body":{"type":"string","nullable":true,"maxLength":10000,"description":"The body of the HTTP request as JSON string."},"headers":{"type":"string","nullable":true,"maxLength":2000,"description":"The headers of the HTTP request as JSON string."},"method":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"]},"parameters":{"type":"object","description":"The JSON Schema definition of the parameters that will be passed to the HTTP request.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"query":{"type":"string","nullable":true,"maxLength":1000,"description":"The query parameters of the HTTP request as JSON string."},"type":{"type":"string","enum":["http-request"]},"url":{"type":"string","maxLength":500,"format":"uri","description":"The URL to send the HTTP request to. Should not contain query parameters."}},"required":["body","headers","method","parameters","query","type","url"]},{"type":"object","properties":{"code":{"type":"string","maxLength":3000,"description":"The code to be executed. Must contain a function named main that takes no parameters."},"parameters":{"type":"object","description":"The JSON Schema definition of the parameters that will be passed to the code execution tool.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"type":{"type":"string","enum":["code-execution"]}},"required":["code","parameters","type"]},{"type":"object","properties":{"parameters":{"type":"object","description":"The JSON Schema definition of the parameters containing the description of the memory to be stored.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"sensitiveParameters":{"type":"array","items":{"type":"string"},"description":"Wheter the parameters are sensitive and should not be shown."},"type":{"type":"string","enum":["contextual-memory"]}},"required":["parameters","sensitiveParameters","type"]},{"type":"object","properties":{"datasetId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the dataset to search in."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"mode":{"type":"string","enum":["scoped","global"],"description":"The mode of the dataset search."},"type":{"type":"string","enum":["dataset-search"]}},"required":["datasetId","execution","mode","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to update the row in."},"type":{"type":"string","enum":["datagrid-row-update"]}},"required":["datagridId","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to insert the row into."},"type":{"type":"string","enum":["datagrid-row-insertion"]}},"required":["datagridId","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to search the row in."},"execution":{"type":"string","enum":["eligible","compulsory"],"description":"Whether the search should always be executed or only if the agent decides to do it."},"results":{"type":"number","description":"The number of results to return to the agent."},"type":{"type":"string","enum":["datagrid-row-semantic-search"]}},"required":["datagridId","execution","results","type"]},{"type":"object","properties":{"datagridId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the datagrid to search the row in."},"results":{"type":"number","description":"The number of results to return to the agent."},"type":{"type":"string","enum":["datagrid-row-similarity-search"]}},"required":["datagridId","results","type"]},{"type":"object","properties":{"tagging":{"type":"object","properties":{"allowedIds":{"type":"array","items":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}},"status":{"type":"string","enum":["enabled","disabled"]}},"required":["allowedIds","status"],"description":"Tagging configuration for tickets."},"ticketingTeamId":{"type":"string","nullable":true,"format":"uuid","description":"The id of the ticketing team responsible for the ticket."},"type":{"type":"string","enum":["ticket-creation"]}},"required":["tagging","ticketingTeamId","type"]},{"type":"object","properties":{"tagging":{"type":"object","properties":{"allowedIds":{"type":"array","items":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."}},"status":{"type":"string","enum":["enabled","disabled"]}},"required":["allowedIds","status"],"description":"Tagging configuration for chats."},"type":{"type":"string","enum":["chat-tagging"]}},"required":["tagging","type"]},{"type":"object","properties":{"path":{"type":"string","nullable":true,"description":"The path of the trigger to the workflow implementation to execute."},"type":{"type":"string","enum":["workflow-executor"]}},"required":["path","type"]},{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":1000,"description":"Instructions describing what should be scheduled and when."},"target":{"type":"object","properties":{"path":{"type":"string","nullable":true,"description":"The path of the workflow trigger to schedule."},"type":{"type":"string","enum":["workflow"]}},"required":["path","type"]},"type":{"type":"string","enum":["schedule"]}},"required":["prompt","target","type"]},{"type":"object","properties":{"file":{"type":"string","minLength":1},"fileName":{"type":"string","minLength":1,"description":"The name of the PDF file."},"type":{"type":"string","enum":["pdf-reader"]}},"required":["file","fileName","type"]},{"type":"object","properties":{"execution":{"type":"string","enum":["eligible","compulsory"]},"fallback":{"type":"object","nullable":true,"properties":{"prompt":{"type":"string","minLength":1,"maxLength":1000}},"required":["prompt"]},"options":{"type":"array","items":{"type":"object","properties":{"condition":{"type":"string","minLength":3,"maxLength":250},"label":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":1000}},"required":["condition","label","prompt"]}},"type":{"type":"string","enum":["follow-up"]}},"required":["execution","fallback","options","type"]},{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","description":"The ID of the messaging connection to use."},"mode":{"type":"string","enum":["discover","preset"],"description":"The execution mode."},"phoneNumbers":{"type":"array","items":{"type":"object","properties":{"ddi":{"type":"string","description":"The DDI of the phone number."},"phoneNumber":{"type":"string","description":"The phone number to send the message to including the state prefix."}},"required":["ddi","phoneNumber"]},"description":"List of phone numbers for preset mode. Can be an empty array for discover mode."},"sendMode":{"type":"string","enum":["text","text-with-template-fallback","template"],"description":"The message sending mode."},"template":{"type":"object","properties":{"body":{"type":"object","properties":{"text":{"type":"string"},"variables":{"type":"array","items":{"type":"object","properties":{"parameterName":{"type":"string"},"value":{"type":"string"}},"required":["parameterName","value"]},"default":[]}}},"buttons":{"type":"object","properties":{"texts":{"type":"array","items":{"type":"string","maxLength":25}},"urlVariables":{"type":"array","items":{"type":"object","properties":{"buttonIndex":{"type":"integer","minimum":0},"value":{"type":"string","maxLength":2000}},"required":["buttonIndex","value"]}}}},"category":{"type":"string","nullable":true,"enum":["AUTHENTICATION","MARKETING","UTILITY",null]},"footer":{"type":"string","maxLength":60},"header":{"type":"object","properties":{"imageUrl":{"type":"string"},"text":{"type":"string","maxLength":60},"variables":{"type":"array","items":{"type":"object","properties":{"parameterName":{"type":"string"},"value":{"type":"string"}},"required":["parameterName","value"]}}}},"language":{"type":"string","minLength":1},"name":{"type":"string","minLength":1}},"required":["language","name"]},"templatePayloadSchema":{"type":"object","description":"A JSON Schema definition object","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"type":{"type":"string","enum":["message-dispatch"]}},"required":["connectionId","mode","phoneNumbers","sendMode","type"]},{"type":"object","properties":{"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional LLM provider ID to be used in this tool call."},"model":{"type":"string","enum":["gpt-image-1","gpt-image-2"],"description":"OpenAI image model to use for this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be prepended to image generation calls."},"provider":{"type":"string","enum":["openai"],"description":"Image generation provider to use for this tool call."},"type":{"type":"string","enum":["image-generation"]}},"required":["llmProviderId","model","prompt","provider","type"]},{"type":"object","properties":{"llmProviderId":{"type":"string","nullable":true,"format":"uuid","description":"Optional LLM provider ID to be used in this tool call."},"model":{"type":"string","enum":["gemini-3.1-flash-image","gemini-3-pro-image"],"description":"Gemini image model to use for this tool call."},"prompt":{"type":"string","nullable":true,"maxLength":500,"description":"Prompt to be prepended to image generation calls."},"provider":{"type":"string","enum":["google-ai"],"description":"Image generation provider to use for this tool call."},"type":{"type":"string","enum":["image-generation"]}},"required":["llmProviderId","model","prompt","provider","type"]},{"type":"object","properties":{"delay":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":60000,"description":"An optional delay in milliseconds to be waited after the event is emitted and, if applicable, a response is received."},"event":{"type":"string","minLength":3,"maxLength":50,"pattern":"^[A-Za-z0-9_-]+$","description":"The name of the client-side event to listen for."},"mock":{"type":"object","properties":{"delay":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":60000,"description":"An optional delay in milliseconds before returning the mock response when testing."},"response":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"An optional mock response to be returned when testing."}},"required":["delay","response"],"description":"Optional mock configuration for testing purposes."},"parameters":{"type":"object","description":"The JSON schema of the parameters to pass with the event.","properties":{"properties":{"additionalProperties":{"oneOf":[{"properties":{"description":{"type":"string"},"enum":{"items":{},"type":"array"},"nullable":{"type":"boolean"},"type":{"enum":["string","number","integer","boolean","null"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"items":{"type":"object"},"nullable":{"type":"boolean"},"type":{"enum":["array"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"description":{"type":"string"},"nullable":{"type":"boolean"},"properties":{"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type"],"type":"object"},{"properties":{"anyOf":{"items":{"type":"object"},"type":"array"},"description":{"type":"string"},"nullable":{"type":"boolean"}},"required":["anyOf"],"type":"object"}]},"type":"object"},"required":{"items":{"type":"string"},"type":"array"},"type":{"enum":["object"],"type":"string"}},"required":["type","properties"]},"payload":{"type":"string","nullable":true,"description":"An optional payload to bind parameters to."},"timeout":{"type":"integer","nullable":true,"minimum":0,"exclusiveMinimum":true,"maximum":300000,"description":"The maximum time in milliseconds to wait for a response before timing out."},"type":{"type":"string","enum":["client-side-call"]},"waitResponse":{"type":"boolean","description":"Whether to wait for a response after emitting the event."}},"required":["delay","event","mock","parameters","payload","timeout","type","waitResponse"]}]},"lastExecutedAt":{"type":"string","nullable":true,"format":"date-time","description":"When this tool was last executed."},"name":{"type":"string","minLength":3,"maxLength":50,"description":"The display name of the tool."},"workspaceId":{"type":"string","format":"uuid","description":"The workspace ID that owns the tool."}},"required":["createdAt","id","isRemoved","referenceId","updatedAt","versionId","description","detail","lastExecutedAt","name","workspaceId"]}}}},"401":{"description":"Unauthorized.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}},"404":{"description":"Tool not found.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}}}}}}}
```

## DELETE /api/v1/tools/{id}

> Removes a tool.

```json
{"openapi":"3.1.0","info":{"title":"Public API","version":"1.0.0"},"servers":[{"description":"API Server","url":"https://api.endless.zaia.app"}],"paths":{"/api/v1/tools/{id}":{"delete":{"description":"Removes a tool.","tags":["Tools"],"parameters":[{"schema":{"type":"string","format":"uuid","description":"A UUID v4 string that identifies an entity."},"required":true,"description":"A UUID v4 string that identifies an entity.","name":"id","in":"path"},{"schema":{"type":"string","description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page."},"required":true,"description":"The API key to use for authentication. Can be created in the api keys section on the workspace settings page.","name":"authorization","in":"header"}],"responses":{"200":{"description":"The tool was removed.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"An informative message for a call that has no effective result to be returned."}},"required":["message"]}}}},"401":{"description":"Unauthorized.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}},"404":{"description":"Tool not found.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The error code."},"cta":{"type":"object","properties":{"type":{"type":"string","enum":["support-contact"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"description":"The error call-to-action."},"feedback":{"type":"object","properties":{"enUs":{"type":"string"},"esEs":{"type":"string"},"ptBr":{"type":"string"}},"description":"The error feedback."},"message":{"type":"string","description":"The error message."},"name":{"type":"string","description":"The error name."}},"required":["feedback","message","name"],"description":"The description of a known exception."}}}}}}}}}
```
