Pular para o conteúdo principal

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.

Conduzindo a Vibedasher a partir do seu agente via MCP?

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.

observação

Precisa de algo que a API ainda não cobre? Entre em contato pela página de contato.