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

# Autenticação

> Como autenticar requisições na API do Cawme

## Visão geral

O Cawme utiliza o [Clerk](https://clerk.com) para autenticação. Todos os endpoints protegidos exigem um Bearer token válido no cabeçalho `Authorization`.

```http theme={null}
Authorization: Bearer <seu-clerk-token>
```

## Obtendo um token

Obtenha seu token no painel do Cawme ou via Clerk SDK na sua aplicação.

<Tabs>
  <Tab title="JavaScript (Clerk SDK)">
    ```javascript theme={null}
    import { useAuth } from "@clerk/nextjs";

    const { getToken } = useAuth();
    const token = await getToken();

    const response = await fetch("https://cawme.com/api/v1/instances", {
      headers: {
        Authorization: `Bearer ${token}`,
        "Content-Type": "application/json",
      },
    });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl https://cawme.com/api/v1/instances \
      -H "Authorization: Bearer <seu-token>"
    ```
  </Tab>
</Tabs>

## Modo demo

Para testes rápidos sem configurar o Clerk completo, o Cawme suporta um **token demo**. Requisições demo:

* Utilizam uma instância demo compartilhada e fixa
* São limitadas por IP (rate limit)
* Não exigem criação de conta

Entre em contato em [support@cawme.com](mailto:support@cawme.com.br) para obter um token demo e use-o como qualquer outro Bearer token:

```bash theme={null}
curl -X POST https://cawme.com/api/v1/calls \
  -H "Authorization: Bearer <token-demo>" \
  -H "Content-Type: application/json" \
  -d '{
    "instanceId": "<id-instancia-demo>",
    "type": "FIXED_TTS",
    "target": { "phoneNumber": "+14155550123" },
    "tts": { "text": "Olá pelo demo do Cawme!", "voiceId": "pt-BR-001" }
  }'
```
