🔑 Autenticação

Toda chamada à API pública da Crystal precisa de uma Crystal Key — um token pessoal vinculado à sua conta do Discord.

1. Gere sua chave

Acesse /keys e faça login com o Discord. Clique em Nova Key, dê um nome (ex: "Meu bot de testes") e confirme.

Sua chave só é exibida uma única vez, no momento da criação:

cryst_9f3a1c7b2e8d4f0a6b5c3d2e1f0a9b8c7d6e5f4a3b2c1d0e

Copie e guarde num lugar seguro — nem a Crystal consegue mostrá-la de novo depois. Se perder, é só revogar e gerar outra.

2. Envie no header Authorization

Toda requisição precisa do header Authorization, no formato Bearer <sua chave>:

curl https://api.crystalbot.xyz/v1/stats \
  -H "Authorization: Bearer cryst_9f3a1c7b2e8d4f0a6b5c3d2e1f0a9b8c7d6e5f4a3b2c1d0e"
// JavaScript / Node
const res = await fetch("https://api.crystalbot.xyz/v1/stats", {
  headers: { Authorization: "Bearer cryst_..." }
});
const data = await res.json();
# Python
import requests

r = requests.get(
    "https://api.crystalbot.xyz/v1/stats",
    headers={"Authorization": "Bearer cryst_..."},
)
print(r.json())

3. Erros comuns

Situação Resposta
Header Authorization ausente 401"Cabeçalho Authorization ausente..."
Chave inválida ou digitada errada 401"Crystal Key inválida ou revogada."
Chave revogada manualmente 401"Crystal Key inválida ou revogada."

Revogando uma chave

Se uma chave vazar ou você simplesmente não usa mais, revogue-a a qualquer momento em /keys. A revogação é imediata — qualquer requisição feita com ela passa a retornar 401.

Boas práticas

  • Nunca exponha sua Crystal Key em código no lado do cliente (front-end público, apps mobile) — ela deve viver só no seu backend
  • Crie uma chave por projeto/integração, com um nome descritivo, para poder revogar uma sem afetar as outras
  • O limite é de 5 chaves ativas por conta