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

# Atualizar Função

> Endpoint para criar uma Função

## Token de Acesso

<ParamField header="Authorization" type="string">
  Token de acesso ("Bearer" deve estar antes do token)
</ParamField>

## Corpo da Requisição

<ParamField path="id" type="string" required="true" placeholder="Adicione o functionId">
  ID da Função
</ParamField>

<ParamField body="name" type="string" required="true">
  Nome da função (ex: onboardingAI)
</ParamField>

<ParamField body="description" type="string" required="true">
  Descrição da função
</ParamField>

<ParamField body="code" type="string" required="true">
  Código JavaScript da função assíncrona
</ParamField>

<ParamField body="userId" type="string" required="true">
  ID do usuário proprietário
</ParamField>

<ParamField body="unityId" type="string" required="true">
  ID da unidade (Unity)
</ParamField>

<ParamField body="outputs" type="array" required="true">
  Configurações de saída da função.

  <Expandable title="Outputs properties">
    <ParamField body="required" type="boolean">
      Indica se o campo é obrigatório.
    </ParamField>

    <ParamField body="id" type="stringcd ">
      ID único do output.
    </ParamField>

    <ParamField body="type" type="string">
      Tipo de dado (ex: number, string).
    </ParamField>

    <ParamField body="description" type="string">
      Descrição do campo de saída.
    </ParamField>

    <ParamField body="property" type="string">
      Nome da propriedade (ex: CNPJ).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="iconFile" type="string">
  URL da imagem do ícone.
</ParamField>

## Descrição da Resposta

Abaixo você verá a descrição da resposta da atualização da função

<ResponseField name="id" type="string" required>
  Identificador único universal (UUID) da função.
</ResponseField>

<ResponseField name="institutionId" type="string" required>
  Identificador da instituição à qual esta função pertence.
</ResponseField>

<ResponseField name="userId" type="string" required>
  ID do usuário.
</ResponseField>

<ResponseField name="unityId" type="string" required>
  Identificador da unidade.
</ResponseField>

<ResponseField name="name" type="string" required>
  Nome identificador da função (ex: onboardinAI).
</ResponseField>

<ResponseField name="description" type="string" required>
  Descrição da função.
</ResponseField>

<ResponseField name="code" type="string" required>
  O corpo do código JavaScript que será executado pela função.
</ResponseField>

<ResponseField name="status" type="boolean" required>
  Indica se a função está disponível para uso (true) ou desabilitada (false).
</ResponseField>

<ResponseField name="isActivated" type="boolean" required>
  Define se a integração está ativa e pronta para receber requisições de gatilho.
</ResponseField>

<ResponseField name="color" type="string" required>
  Código ou nome da cor (ex: red) utilizada para rotular a função na interface do usuário.
</ResponseField>

<ResponseField name="iconFileId" type="string">
  Referência única para o arquivo de imagem armazenado que serve como ícone.
</ResponseField>

<ResponseField name="pluginIcon" type="object">
  Objeto contendo metadados do arquivo de imagem.

  <Expandable title="Propriedades de PluginIcon">
    <ResponseField name="url" type="string">
      URL da imagem do ícone.
    </ResponseField>

    <ResponseField name="fileName" type="string">
      Nome do arquivo armazenado no dataset.
    </ResponseField>

    <ResponseField name="extension" type="string">
      Formato do arquivo (ex: jpeg, png).
    </ResponseField>

    <ResponseField name="size" type="number">
      Tamanho do arquivo em bytes.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="outputs" type="array">
  Lista de parâmetros que a função retorna ou exige como mapeamento.

  <Expandable title="Propriedades de Outputs">
    <ResponseField name="property" type="string">
      Nome da chave de dado (ex: CNPJ).
    </ResponseField>

    <ResponseField name="type" type="string">
      Tipo primitivo do dado esperado (ex: number, string).
    </ResponseField>

    <ResponseField name="description" type="string">
      Explicação do que aquele output representa para o usuário final.
    </ResponseField>

    <ResponseField name="required" type="boolean">
      Define se este campo de saída deve obrigatoriamente retornar um valor.
    </ResponseField>
  </Expandable>
</ResponseField>

## Segurança

Para acessar este endpoint, é necessário enviar um **token de acesso** válido através do cabeçalho de autorização (Authorization) da requisição. Além disso, a API é protegida por outras medidas de segurança para proteger os dados dos usuários.
