> ## Documentation Index
> Fetch the complete documentation index at: https://docs.suasofia.online/llms.txt
> Use this file to discover all available pages before exploring further.

# Atualizar ferramenta utilizadas durante a chamada

> Atualizar uma ferramenta utilizadas durante a chamada existente.

Este endpoint permite que você atualize uma ferramenta utilizadas durante a chamada existente. Todos os campos são opcionais - forneça apenas os campos que deseja atualizar.

### Parâmetros de Caminho

<ParamField path="id" type="integer" required>
  O identificador único da ferramenta a ser atualizada
</ParamField>

### Parâmetros do Corpo

<ParamField body="name" type="string" optional>
  Nome da ferramenta - deve conter apenas letras minúsculas e underscores, e começar com uma letra
</ParamField>

<ParamField body="description" type="string" optional>
  Explicação detalhada de quando e como a IA deve usar esta ferramenta (máximo 255 caracteres)
</ParamField>

<ParamField body="endpoint" type="string" optional>
  URL válida do endpoint da API a ser chamado
</ParamField>

<ParamField body="method" type="string" optional>
  Método HTTP: `GET`, `POST`, `PUT`, `PATCH`, ou `DELETE`
</ParamField>

<ParamField body="timeout" type="integer" optional>
  Tempo limite da requisição em segundos (1-30)
</ParamField>

<ParamField body="headers" type="array" optional>
  Cabeçalhos HTTP para enviar com a requisição (substitui cabeçalhos existentes)

  <Expandable title="propriedades de headers">
    <ParamField body="name" type="string" required>
      Nome do cabeçalho
    </ParamField>

    <ParamField body="value" type="string" required>
      Valor do cabeçalho
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="schema" type="array" optional>
  Schema de parâmetros (substitui schema existente)

  <Expandable title="propriedades de schema">
    <ParamField body="name" type="string" required>
      Nome do parâmetro (2-32 caracteres)
    </ParamField>

    <ParamField body="type" type="string" required>
      Tipo do parâmetro: `string`, `number`, ou `boolean`
    </ParamField>

    <ParamField body="description" type="string" required>
      Descrição do parâmetro (3-255 caracteres)
    </ParamField>
  </Expandable>
</ParamField>

### Campos de Resposta

<ResponseField name="message" type="string">
  Mensagem de sucesso
</ResponseField>

<ResponseField name="data" type="object">
  O objeto da ferramenta atualizada com todos os valores atuais
</ResponseField>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "message": "Tool updated successfully",
    "data": {
      "id": 1,
      "name": "update_customer_info",
      "description": "Use this tool to update customer information in the system.",
      "endpoint": "https://api.yourcompany.com/customers/update",
      "method": "POST",
      "timeout": 15,
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ],
      "schema": [
        {
          "name": "customer_name",
          "type": "string",
          "description": "Full name of the customer"
        },
        {
          "name": "customer_age",
          "type": "number",
          "description": "Age of the customer"
        },
        {
          "name": "newsletter_subscription",
          "type": "boolean",
          "description": "Whether customer wants to subscribe to newsletter"
        }
      ],
      "created_at": "2025-10-10T12:00:00.000000Z",
      "updated_at": "2025-10-10T14:30:00.000000Z"
    }
  }
  ```

  ```json 404 Not Found theme={null}
  {
    "message": "Tool not found"
  }
  ```

  ```json 422 Validation Error theme={null}
  {
    "message": "Validation failed",
    "errors": {
      "name": ["Tool name must contain only lowercase letters and underscores, and start with a letter."]
    }
  }
  ```
</ResponseExample>

### Gerenciando Atribuições de Ferramentas

Para anexar ou desanexar esta ferramenta de assistentes, use a API de Assistente:

* **[Criar Assistente](/api-reference/assistants/create-assistant)** - Use o parâmetro `tool_ids` para anexar ferramentas ao criar um assistente
* **[Atualizar Assistente](/api-reference/assistants/update-assistant)** - Use o parâmetro `tool_ids` para gerenciar quais ferramentas estão atribuídas a um assistente
