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

# Atualizar Conhecimento

> Modifica um conhecimento existente ou muda o assistente dono

Atualização **parcial**: envie apenas os campos que deseja mudar. Campos ausentes
permanecem como estão.

## Path Parameters

<ParamField path="id" type="string" required>
  UUID do conhecimento
</ParamField>

## Body

<ParamField body="name" type="string">
  Novo nome (1 a 255 caracteres)
</ParamField>

<ParamField body="description" type="string">
  Nova descrição, até 1000 caracteres
</ParamField>

<ParamField body="content" type="string">
  Novo texto indexado. Substitui o conteúdo anterior.
</ParamField>

<ParamField body="usage_instruction" type="string">
  Nova instrução de uso, até 2000 caracteres
</ParamField>

<ParamField body="assistant_id" type="string">
  Muda o escopo do conhecimento. Veja a tabela abaixo.
</ParamField>

## Mudando o assistente dono

O campo `assistant_id` tem três comportamentos distintos:

| O que você envia      | Efeito                                       |
| --------------------- | -------------------------------------------- |
| campo ausente         | Escopo permanece como está                   |
| `""` (string vazia)   | Torna o conhecimento **global**              |
| UUID de um assistente | Vincula o conhecimento **àquele assistente** |

<Warning>
  Enviar `""` é diferente de omitir o campo. A string vazia é o que remove o
  vínculo com o assistente e devolve o conhecimento para o escopo global.
</Warning>

## Response

Retorna `200 OK` com o conhecimento atualizado.

<RequestExample>
  ```bash cURL theme={null}
  curl -X PUT "https://api.leavo.ai/backend/knowledge/9f1c2d34-5678-4abc-9def-0123456789ab" \
    -H "Authorization: Bearer sua_chave_aqui" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "Política de trocas 2026",
      "content": "Trocas em até 45 dias mediante apresentação da nota fiscal."
    }'
  ```

  ```javascript JavaScript theme={null}
  const id = '9f1c2d34-5678-4abc-9def-0123456789ab';

  const response = await fetch(`https://api.leavo.ai/backend/knowledge/${id}`, {
    method: 'PUT',
    headers: {
      'Authorization': 'Bearer sua_chave_aqui',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      name: 'Política de trocas 2026',
      content: 'Trocas em até 45 dias mediante apresentação da nota fiscal.'
    })
  });

  console.log(await response.json());
  ```

  ```python Python theme={null}
  import requests

  knowledge_id = '9f1c2d34-5678-4abc-9def-0123456789ab'

  response = requests.put(
      f'https://api.leavo.ai/backend/knowledge/{knowledge_id}',
      headers={'Authorization': 'Bearer sua_chave_aqui'},
      json={
          'name': 'Política de trocas 2026',
          'content': 'Trocas em até 45 dias mediante nota fiscal.'
      }
  )

  print(response.json())
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "id": "9f1c2d34-5678-4abc-9def-0123456789ab",
    "tenant_id": "d6b10acc-2307-413f-a4de-4c2edf3f9a70",
    "name": "Política de trocas 2026",
    "description": "Regras de troca e devolução",
    "content": "Trocas em até 45 dias mediante apresentação da nota fiscal.",
    "source_url": null,
    "usage_instruction": "Use quando o lead perguntar sobre troca ou devolução.",
    "assistant_id": null,
    "excluded_assistant_ids": [],
    "created_at": "2026-01-15T10:30:00Z",
    "updated_at": "2026-02-10T08:45:00Z"
  }
  ```
</ResponseExample>

## Vincular a um assistente

```bash cURL theme={null}
curl -X PUT "https://api.leavo.ai/backend/knowledge/9f1c2d34-5678-4abc-9def-0123456789ab" \
  -H "Authorization: Bearer sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{"assistant_id": "3f8a1b2c-4d5e-6f70-8192-a3b4c5d6e7f8"}'
```

## Tornar global novamente

```bash cURL theme={null}
curl -X PUT "https://api.leavo.ai/backend/knowledge/9f1c2d34-5678-4abc-9def-0123456789ab" \
  -H "Authorization: Bearer sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{"assistant_id": ""}'
```

## Substituir o arquivo

Envie como `multipart/form-data` com o campo `file`. Valem as mesmas extensões e
o mesmo limite de 10 MB da [criação](/pt-BR/api-reference/knowledge/create).

```bash cURL theme={null}
curl -X PUT "https://api.leavo.ai/backend/knowledge/9f1c2d34-5678-4abc-9def-0123456789ab" \
  -H "Authorization: Bearer sua_chave_aqui" \
  -F "name=Manual do produto v2" \
  -F "file=@manual_v2.pdf"
```

## Erros

| Código | Descrição                                                                                           |
| ------ | --------------------------------------------------------------------------------------------------- |
| `400`  | Campo acima do limite de caracteres, `name` vazio, extensão não suportada ou arquivo acima de 10 MB |
| `401`  | Chave de API ausente ou inválida                                                                    |
| `404`  | Conhecimento não encontrado, ou `assistant_id` não pertence a esta organização                      |
