Autenticação
Esta página cobre a autenticação para a API REST e os SDKs, onde a credencial é uma chave de API. A Vibedasher tem duas camadas de acesso aqui: a API autenticada (uma chave de API) e uma pequena superfície pública, sem autenticação.
Você não precisa de uma chave. Instale vibedasher-mcp (0.6.0 ou superior) e execute
vibedasher login — login pelo navegador, sessão no keyring do seu sistema operacional. Veja
Construa com seu agente. Chaves de API são para os SDKs,
para o seu próprio backend, e para máquinas headless/CI onde nenhum navegador pode abrir.
Chave de API (X-Api-Key)
A API autenticada — conjuntos de dados, SQL, visualizações, conexões e mais — é acessada com uma
chave de API enviada no cabeçalho X-Api-Key. É assim que ambos os SDKs se autenticam, e é
assim que o servidor MCP se autentica em uma máquina headless
ou de CI (via VIBEDASHER_API_KEY, que tem precedência sobre qualquer sessão de login
armazenada quando está definida).
Obtenha uma chave
Gere uma chave no app em Configurações → Chaves de API em
cloud.vibedasher.com. A criação de chave é deliberadamente
exclusiva para admin e somente por sessão de navegador: POST /v1/api-keys exige um admin
da conta conectado através do app e rejeita de imediato a autenticação por chave de API, então
não faz parte da superfície do SDK e você não a encontrará na referência. Uma chave não pode
gerar outra chave, e um membro que não é admin não pode se autoprovisionar uma — esse é o ponto.
Trate uma chave como uma senha: ela carrega o acesso da sua conta. Armazene-a em uma variável de ambiente ou em um cofre de segredos, nunca em controle de versão.
Envie-a
curl https://api.vibedasher.com/api/v1/datasets \
-H "X-Api-Key: $VIBEDASHER_API_KEY"
Os SDKs oficiais configuram esse cabeçalho para você — você apenas passa a chave ao construir o cliente:
import { Vibedasher } from '@vibedasher/client';
const client = new Vibedasher({
apiKey: process.env.VIBEDASHER_API_KEY!,
});
const page = await client.datasets.list({ limit: 50 });
from vibedasher import Vibedasher
client = Vibedasher(api_key="<your-api-key>")
client.datasets.list()
Um único host, roteado pela sua credencial
https://api.vibedasher.com/api é a URL base padrão, e é o único endereço que você precisa
conhecer. O edge que fica na frente lê sua credencial — o prefixo da sua X-Api-Key, ou a
região registrada dentro de um token de sessão do navegador — e encaminha a requisição para
a região que guarda os dados da sua conta. Seu código nunca precisa dizer onde isso fica.
(region é opcional a partir de @vibedasher/client 4.1.5 e vibedasher 4.3.19.)
Cada região também responde no seu próprio hostname,
https://api.{region}.vibedasher.com/api. Esses endereços têm suporte completo e são a forma de
fixar um cliente em uma única região de propósito: passe region para qualquer um dos
dois SDKs, ou defina a URL base na mão. Um painel ejetado faz exatamente isso — ele registra
o host regional contra o qual foi construído, de modo que o bundle que você publica continua
consultando o mesmo lugar.
Uma requisição que não carrega credencial alguma — os endpoints públicos abaixo, e cada
preflight CORS — é servida pela região padrão, eu-central-1.
Endpoints públicos — sem autenticação
Os endpoints sob /v1/public/* não exigem nenhuma autenticação. Eles servem somente
conteúdo que foi explicitamente publicado e marcado como público:
curl https://api.vibedasher.com/api/v1/public/viz/slug/<slug>
Drafts e painéis privados retornam 404 — não há como ler dados não publicados através da
superfície pública.
Como essas chamadas não carregam credencial, o edge não tem nada para rotear, então elas chegam à região padrão. Se os dados da sua conta vivem em outro lugar, enderece a via pública ao hostname da sua própria região.
O que nunca é exposto
Infraestrutura pura e mecanismos internos de administração são completamente excluídos da API — gerenciamento de cache/job/worker de admin, os visualizadores de depuração de IA e observabilidade, analytics entre contas, transporte via WebSocket, e invocação direta de função. Esses recursos operam o app internamente e não fazem parte da superfície documentada.
Precisa de algo que a API ainda não cobre? Entre em contato pela página de contato.