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

# API Keys

> Crie e gerencie API keys para acessar os dados do seu Databases a partir de aplicações externas

As **API Keys** permitem que você se autentique na API do Databases a partir de aplicações externas, scripts ou integrações. Cada chave pode ter permissões granulares e uma data de expiração configurável.

<Frame caption="Lista de API Keys com nome, permissões, chave mascarada e ações">
  <img src="https://mintcdn.com/jelouai/daUUvITM1J6ByU2U/assets/images/datum/api-keys.png?fit=max&auto=format&n=daUUvITM1J6ByU2U&q=85&s=4f21dec8a2aeae6bc4830a6e2e78e794" alt="Tabela de API Keys mostrando chaves criadas com colunas Nome, Permissões, Chave, Criado, Expira e botões Regenerar e Excluir" width="3024" height="1730" data-path="assets/images/datum/api-keys.png" />
</Frame>

## Criando uma API Key

<Steps>
  <Step title="Vá para as configurações">
    Navegue até **Configurações > API Keys** na barra lateral esquerda.
  </Step>

  <Step title="Clique em + Criar API key">
    O botão está localizado no canto superior direito.
  </Step>

  <Step title="Configure a chave">
    Preencha os seguintes campos:

    * **Nome** — Um nome descritivo para identificar a chave (ex.: "CI Bot", "Backend Produção")
    * **Permissões** — Selecione as permissões que a chave precisa
    * **Expiração** — Por quanto tempo a chave deve permanecer válida
  </Step>

  <Step title="Clique em Criar">
    A chave é gerada e exibida apenas uma vez. Copie-a e guarde-a em um lugar seguro.
  </Step>
</Steps>

<Warning>
  A chave completa é exibida apenas uma vez no momento da criação. Se você perdê-la, precisará regenerar a chave ou criar uma nova.
</Warning>

## Permissões disponíveis

As permissões são divididas em duas categorias:

**Registros**

| Permissão                   | Descrição                                               |
| --------------------------- | ------------------------------------------------------- |
| Ler registros               | Permite ler e pesquisar registros nas coleções          |
| Criar e atualizar registros | Permite criar novos registros e atualizar os existentes |
| Excluir registros           | Permite excluir registros                               |

**Arquivos**

| Permissão                | Descrição                                       |
| ------------------------ | ----------------------------------------------- |
| Ler arquivos             | Permite baixar anexos de arquivos               |
| Fazer upload de arquivos | Permite fazer upload de arquivos para registros |

<Tip>
  Aplique o princípio do menor privilégio: conceda apenas as permissões que a aplicação realmente precisa. Por exemplo, um painel somente leitura requer apenas **Ler registros**.
</Tip>

## Opções de expiração

| Opção         | Descrição                          |
| ------------- | ---------------------------------- |
| 7 dias        | A chave expira em 7 dias           |
| 30 dias       | A chave expira em 30 dias (padrão) |
| 60 dias       | A chave expira em 60 dias          |
| 90 dias       | A chave expira em 90 dias          |
| 180 dias      | A chave expira em 180 dias         |
| Sem expiração | A chave nunca expira               |

<Warning>
  Chaves sem expiração não são revogadas automaticamente. Use-as apenas quando estritamente necessário e combine com permissões mínimas.
</Warning>

## Gerenciando API Keys

A tabela de API Keys mostra todas as chaves criadas com as seguintes informações:

* **Nome** — Nome da chave
* **Permissões** — Permissões atribuídas
* **Chave** — Os últimos caracteres da chave (mascarada)
* **Criado** — Data de criação
* **Expira** — Data de expiração

### Ações disponíveis

* **Regenerar** — Gera uma nova chave mantendo o mesmo nome e permissões. A chave anterior para de funcionar imediatamente.
* **Excluir** — Exclui permanentemente a chave. Qualquer aplicação que a utilize perderá o acesso imediatamente.

## Usando a API Key

Inclua a chave no cabeçalho `X-Api-Key` das suas requisições HTTP:

<CodeGroup>
  ```bash cURL theme={null}
  curl -s -X GET 'https://your-instance.jelou.cloud/api/collections/your_collection/records' \
    -H 'X-Api-Key: YOUR_API_KEY' \
    -H 'Accept: application/json'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://your-instance.jelou.cloud/api/collections/your_collection/records', {
    headers: {
      'X-Api-Key': 'YOUR_API_KEY',
      'Accept': 'application/json'
    }
  });

  const data = await response.json();
  ```

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

  response = requests.get(
      'https://your-instance.jelou.cloud/api/collections/your_collection/records',
      headers={
          'X-Api-Key': 'YOUR_API_KEY',
          'Accept': 'application/json'
      }
  )

  data = response.json()
  ```
</CodeGroup>
