> ## 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.

# Criar chave API

> Gerar uma nova chave API para o usuário autenticado

Este endpoint gera uma nova chave API para o usuário autenticado. Diferentemente do endpoint de login que cria um token de sessão, este cria uma chave API persistente que pode ser usada para acesso de longo prazo à API.

<Note>
  Este endpoint requer autenticação. Use sua chave API existente ou token de sessão para criar chaves API adicionais.
</Note>

### Corpo da Requisição

<ParamField body="name" type="string" required>
  Um nome/rótulo para a chave API (ex: "Produção", "Desenvolvimento", "Meu App")
</ParamField>

### Resposta

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

<ResponseField name="api_key" type="object">
  Detalhes da chave API criada

  <Expandable title="Propriedades de api_key">
    <ResponseField name="name" type="string">
      O nome/rótulo da chave API
    </ResponseField>

    <ResponseField name="token" type="string">
      O token da chave API. **Armazene com segurança** - será mostrado apenas uma vez.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      Timestamp ISO 8601 de quando a chave API foi criada
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 201 Created theme={null}
  {
    "message": "Chave API criada com sucesso.",
    "api_key": {
      "name": "Chave API de Produção",
      "token": "1|abc123xyz789abcdef...",
      "created_at": "2025-01-08T10:30:00.000000Z"
    }
  }
  ```

  ```json 422 Validation Error theme={null}
  {
    "message": "O campo nome é obrigatório.",
    "errors": {
      "name": ["O campo nome é obrigatório."]
    }
  }
  ```
</ResponseExample>

### Exemplo de Requisição

```bash theme={null}
curl -X POST https://suasofia.online/api/user/api-keys \
  -H "Authorization: Bearer SUA_CHAVE_API_EXISTENTE" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Chave API de Produção"
  }'
```

<Warning>
  O token da chave API é retornado apenas uma vez. Certifique-se de armazená-lo com segurança. Se você perdê-lo, precisará criar uma nova chave.
</Warning>

### Gerenciando Chaves API

* **GET /user/api-keys** - Listar todas as chaves API para o usuário autenticado
* **DELETE /user/api-keys/{id}** - Deletar uma chave API específica
