Pular para o conteúdo

Índice de endpoints

Cada rota que o servidor monta, em uma única tabela, com o que é necessário para acessá-la.

Os caminhos presumem o basePath padrão de /api; REBASE_BASE_PATH move todos eles juntos. /health, /livez e /metrics ficam fora dele de propósito, porque um orquestrador faz a sondagem de /health e não deve precisar conhecer o caminho base. /health também é montado sob ele, de modo que /api/health responda da mesma forma em vez de retornar 404 justamente no momento em que alguém está verificando se o servidor está ativo.

Um gate — tooling/scripts/docs-verify/check-endpoint-index.mjs — compara esta tabela com as rotas registradas pelo código-fonte, garantindo que uma nova superfície não possa ser adicionada sem constar aqui.

Gate Significado
none Não autenticado. Qualquer pessoa que alcance o host pode chamar
session Uma chamada autenticada: um token de acesso ou uma chave de API com escopo para a operação
resource:action Um chamador que tem esse escopo: um administrador, uma pessoa cuja role o declara, uma chave de API criada com ele, ou a chave de serviço
RLS Autenticado, e então o banco de dados decide linha por linha — consulte Security Rules
dev Montado apenas fora de produção

Gerado por coleção, de modo que os caminhos contêm seus slugs em vez de uma lista fixa. :slug é o slug de uma coleção.

Método Caminho Gate Mais
GET /api/data/collections session REST API
GET /api/data/:slug RLS Querying
POST /api/data/:slug RLS REST API
POST /api/data/:slug/query RLS A listagem, com os parâmetros de consulta no corpo — Consultas longas demais para uma URL
GET /api/data/:slug/count RLS Querying
POST /api/data/:slug/count RLS A contagem, com os parâmetros de consulta no corpo — Consultas longas demais para uma URL
GET /api/data/:slug/aggregate RLS REST API
GET /api/data/:slug/:id RLS REST API
PATCH /api/data/:slug/:id RLS REST API
PUT /api/data/:slug/:id RLS Alias depreciado de PATCH — mesma escrita parcial, responde Deprecation: true
DELETE /api/data/:slug/:id RLS REST API
POST /api/data/:slug/bulk RLS Insere várias linhas, opcionalmente fazendo upsert — REST API
PATCH /api/data/:slug/bulk RLS Atualiza várias linhas por id — REST API
POST /api/data/:slug/bulk/delete RLS Exclui várias linhas por id — REST API
POST /api/data/_batch RLS Escreve através de coleções em uma única transação — Writing over REST
GET /api/data/:slug/:id/history RLS Entity History
POST /api/data/:slug/:id/history/:historyId/revert RLS Entity History

Contagem e agregação são rotas próprias, registradas antes de /:id para que aggregate não seja interpretado como o id de uma entidade. ?select= e ?groupBy= são seus parâmetros, e select é obrigatório em /aggregate.

Busca textual, busca vetorial, inclusão de relações e seleção de campos são parâmetros de consulta em GET /api/data/:slug em vez de rotas — search, vector_search, include, fields. Consulte REST API.

Um projeto que não declara coleções e não faz introspecção de nenhuma atende a este prefixo como um único 404 NO_COLLECTIONS. Consulte Backend only.

Método Caminho Gate Mais
GET /api/auth/config none O que a tela de login pode oferecer: cadastro, redefinição de senha, magic link, códigos por e-mail, login de convidado, provedores OAuth e se a configuração do primeiro administrador está pendente
POST /api/auth/register none Authentication
POST /api/auth/login none Auth endpoints
POST /api/auth/refresh none (um token de atualização) Auth endpoints
POST /api/auth/logout session Auth endpoints
GET /api/auth/me session Auth endpoints
PATCH /api/auth/me session Auth endpoints
GET /api/auth/sessions session Auth endpoints
DELETE /api/auth/sessions session Revoga todas as outras sessões
DELETE /api/auth/sessions/:id session Revoga uma sessão
POST /api/auth/forgot-password none Authentication
POST /api/auth/reset-password none (um token de redefinição) Authentication
POST /api/auth/change-password session Authentication
POST /api/auth/send-verification session Authentication
GET /api/auth/verify-email none (um token de verificação) Authentication
POST /api/auth/verify-email none (um token de verificação, e uma sessão ou a senha para mantê-la) Verificação de e-mail
POST /api/auth/magic-link none Authentication
POST /api/auth/magic-link/verify none (um token de link) Authentication
POST /api/auth/otp none Códigos de uso único por e-mail
POST /api/auth/otp/verify none (um código) Códigos de uso único por e-mail
POST /api/auth/anonymous none Sessões de convidado. Desativado a menos que ALLOW_ANONYMOUS
POST /api/auth/anonymous/link session (um convidado) Transforma um convidado em uma conta
POST /api/auth/find-user session Desativado a menos que AUTH_ALLOW_USER_LOOKUP — é uma superfície de enumeração
POST /api/auth/:provider none Um por provedor OAuth/OIDC configurado
POST /api/auth/link/:provider session Vincula um provedor à conta conectada
POST /api/auth/mfa/enroll session MFA
POST /api/auth/mfa/verify session MFA
GET /api/auth/mfa/factors session MFA
DELETE /api/auth/mfa/unenroll session MFA
POST /api/auth/mfa/recovery-codes session (aal2) MFA
POST /api/auth/mfa/challenge none (um login em andamento) MFA
POST /api/auth/mfa/challenge/verify none (um id de desafio) MFA
GET /api/auth/scopes session Todos os escopos que este backend conhece, e os que o chamador tem — Papéis e escopos
GET /api/auth/keys session (uma conta) As próprias chaves pessoais do chamador
POST /api/auth/keys session (uma conta) A chave em texto simples é retornada uma vez. 403 PERSONAL_KEYS_DISABLED a menos que a coleção de usuários defina auth.personalKeys
DELETE /api/auth/keys/:id session (uma conta) Revoga uma das chaves do próprio chamador
GET /.well-known/jwks.json none O JWKS público, quando a assinatura assimétrica está configurada

Tudo sob /api/admin precisa de um escopo do plano administrativo, e cada superfície nomeia o seu: users:read lista contas, cron:write dispara um job. Um administrador tem todos eles, assim como a chave de serviço. Uma pessoa tem os que suas roles declaram, e uma chave de API, os que recebeu ao ser criada. Uma chave com escopo para uma coleção não acessa nada disso. Consulte Papéis e escopos.

Método Caminho Gate Mais
POST /api/admin/bootstrap none, e apenas enquanto nenhum administrador existir Recusado em produção — consulte First User Bootstrap
GET /api/admin/users users:read Gerenciamento de usuários
POST /api/admin/users users:write Gerenciamento de usuários. Roles além das do próprio chamador são recusadas
GET /api/admin/users/pick users:read, ou acesso de escrita a uma coleção com um campo userSelect A leitura do seletor de usuários: apenas id, nome, e-mail e avatar. Uma coleção cujas regras de escrita são SQL bruto não conta
GET /api/admin/users/:uid users:read Gerenciamento de usuários
PUT /api/admin/users/:uid users:write Recusado para uma conta que tem mais do que o chamador
DELETE /api/admin/users/:uid users:write Recusado para uma conta que tem mais do que o chamador
POST /api/admin/users/:uid/reset-password users:write Emite uma senha temporária
DELETE /api/admin/users/:uid/mfa users:write Remove os segundos fatores e os códigos de recuperação da conta, encerra suas sessões
GET /api/admin/roles users:read admin e as roles que o projeto declara, com seus escopos
GET /api/admin/api-keys keys:read API keys. Nunca uma chave de API
POST /api/admin/api-keys keys:write A chave em texto simples é retornada uma vez, na criação
GET /api/admin/api-keys/:id keys:read API keys
PUT /api/admin/api-keys/:id keys:write API keys
DELETE /api/admin/api-keys/:id keys:write API keys
GET /api/admin/cron cron:read Cron Jobs
GET /api/admin/cron/:id cron:read Cron Jobs
PUT /api/admin/cron/:id cron:write Habilita ou desabilita um job
GET /api/admin/cron/:id/logs cron:read Cron Jobs
POST /api/admin/cron/:id/trigger cron:write Executa um job agora. Desde 0.25 ?async=1 responde 202 assim que ele começa — Cron Jobs API
GET /api/admin/storage/orphans database:read Desde 0.25 Arquivos armazenados que nenhuma linha nomeia, ?storageId=&olderThanHours= — o que rebase storage orphans imprime
DELETE /api/admin/storage/orphans database:write Desde 0.25 Encontra-os de novo e os exclui; 409 STORAGE_SCAN_INCOMPLETE quando uma collection não pôde ser lida
POST /api/admin/storage/move database:write Desde 0.25 Copia uma pasta para outra fonte sob as mesmas chaves, uma página por chamada — o que rebase storage move envia
GET /api/admin/backups backups:read Inventário de backups
GET /api/admin/backups/download backups:read Transmite um backup via stream. Com ?token= de um link de download, nenhum cabeçalho é necessário, apenas para esse backup
POST /api/admin/backups/download-url backups:read Desde 0.25 Um link para um backup, { key } → { url, token, expiresIn }, válido por 60 segundos — Backups
GET /api/admin/logs logs:read O buffer de logs recentes
GET /api/admin/logs/latest logs:read As entradas mais recentes
GET /api/admin/logs/stream logs:read Server-sent events
GET /api/admin/rls-audit schema:read O resultado mais recente da auditoria agendada
POST /api/admin/sql/csv database:write Desde 0.25 Transmite via stream o resultado completo de uma consulta somente leitura como CSV — “Baixar resultado completo como CSV” do Studio
GET /api/admin/schema/status schema:read Live schema editing
POST /api/admin/schema/plan schema:read Planeja uma alteração; nunca aplica
POST /api/admin/schema/apply schema:write Apenas uma pessoa, a menos que REBASE_LIVE_SCHEMA_ALLOW_MACHINE_APPLY
GET /api/admin/schema-editor/status schema:read Se o editor está disponível, e a razão quando não está
POST /api/admin/schema-editor/collection/save schema:write Studio — reescreve o código-fonte da coleção
POST /api/admin/schema-editor/collection/delete schema:write Studio
POST /api/admin/schema-editor/property/save schema:write Studio
POST /api/admin/schema-editor/property/delete schema:write Studio
GET /api/admin/dev/emails dev + users:write E-mails que o transporte de desenvolvimento capturou em vez de enviar
DELETE /api/admin/dev/emails dev + users:write Esvazia a caixa de correio capturada

/api/admin/cron, /api/admin/logs e /api/admin/schema-editor também são disponibilizados em seus caminhos anteriores à versão 0.17 sem o segmento /admin. Esses aliases existem para projetos que ainda não migraram; escreva código novo usando o caminho canônico.

Método Caminho Gate Mais
POST /api/storage/upload session + storageAuthorize Storage
GET /api/storage/file/* session + storageAuthorize Storage
DELETE /api/storage/file/* session + storageAuthorize Storage
GET /api/storage/metadata/* session + storageAuthorize Storage
POST /api/storage/metadata session + storageAuthorize, por chave Desde 0.25 Storage: metadados de até 100 objetos
GET /api/storage/list session + storageAuthorize Storage
POST /api/storage/folder session + storageAuthorize Storage
GET /api/storage/sources session As fontes de armazenamento nomeadas atendidas por este backend
OPTIONS /api/storage/tus none Uploads retomáveis: as versões e extensões TUS que este servidor suporta
POST /api/storage/tus session + storageAuthorize Uploads retomáveis: criação
GET /api/storage/tus/:id o proprietário do upload Uploads retomáveis: offset
PATCH /api/storage/tus/:id o proprietário do upload Uploads retomáveis: append
DELETE /api/storage/tus/:id o proprietário do upload Uploads retomáveis: cancelamento

Uma implantação sem armazenamento configurado responde a este prefixo com um 501 informando a variável necessária, em vez de responder com 404 como se o recurso não existisse.

Método Caminho Gate Mais
any /api/functions/<name> o que a função declarar. Uma chave de API também precisa de functions:invoke Custom Functions

Uma rota por arquivo em backend/functions/, logo os caminhos vêm do seu projeto. GET /api/functions não os lista: o inventário de endpoints personalizados de uma implantação não é público.

Método Caminho Gate Mais
GET /livez none Apenas verificação de atividade (liveness): este processo está rodando. Não toca no banco de dados, razão pela qual é o caminho de verificação que um contêiner deve usar — RUNTIME_LIVENESS_PATH
GET /health, /api/health none Atividade (liveness) e prontidão (readiness). Informa todas as fontes de dados configuradas, não apenas a padrão
GET /api/docs none (schema:read em produção) O documento OpenAPI 3.0
GET /api/swagger none Swagger UI. Apenas em desenvolvimento a menos que REBASE_ENABLE_SWAGGER
GET /api/meta/schema-version none O hash de esquema a partir do qual este backend foi construído, e nada mais
GET /api/meta/contract schema:read O contrato completo de coleções, para rebase generate-sdk --from. 404 quando nenhuma autenticação está configurada
GET /metrics REBASE_METRICS_TOKEN quando definido Métricas Prometheus, quando REBASE_METRICS=true
GET /metrics/history REBASE_METRICS_TOKEN quando definido As séries gravadas por trás dos gráficos do Studio. 501 em um runtime sem backend

Conexões WebSocket chegam como um upgrade de HTTP no mesmo servidor, em vez de terem um caminho próprio — consulte Realtime.

Montada apenas quando REBASE_MCP_ENABLED=true, o que também exige REBASE_PUBLIC_URL — consulte Configuration. Desativada por padrão: nenhuma REBASE_ROLE ativa isso, porque concede acesso ao projeto para softwares de terceiros e essa é uma decisão que cabe a uma pessoa tomar.

Os documentos .well-known ficam na origem, não sob basePath: RFC 8414 e RFC 9728 definem esses caminhos em relação à origem, e um cliente os busca antes de possuir qualquer token.

Método Caminho Gate Mais
GET /.well-known/oauth-protected-resource none Metadados da RFC 9728 nomeando este recurso e seu servidor de autorização. Também disponível no formato com sufixo de caminho
GET /.well-known/oauth-authorization-server none Metadados da RFC 8414: os endpoints, tipos de concessão (grant types) e métodos PKCE suportados por esta implantação
POST /mcp OAuth bearer, ou uma chave de API O endpoint do protocolo MCP. Atua como o usuário conectado (ou como quem quer que a chave represente), portanto cada leitura e escrita está sujeita ao mesmo RLS. Os escopos data:* decidem quais ferramentas são oferecidas
GET /mcp OAuth bearer, ou uma chave de API Responde 405 com Allow: POST, DELETE: este servidor não abre stream iniciado pelo servidor. O token é verificado primeiro, então um token ausente ou expirado recebe o desafio 401
DELETE /mcp none Responde 204. O endpoint não mantém sessão, portanto não há nada para encerrar
POST /api/oauth/register taxa limitada (rate-limited) Registro dinâmico de clientes RFC 7591. Recusado quando REBASE_MCP_OPEN_REGISTRATION=false
GET /api/oauth/authorize session A tela de consentimento para a qual o cliente é redirecionado
POST /api/oauth/authorize/decision session A resposta da pessoa a ela — aprovar ou negar
POST /api/oauth/token credenciais de cliente + PKCE Troca um código de autorização, ou atualiza o token
POST /api/oauth/revoke credenciais de cliente Revogação de token RFC 7009
GET /api/oauth/grants session Quais clientes este usuário aprovou
DELETE /api/oauth/grants/:clientId session Revoga um consentimento, permitindo que uma pessoa desfaça a aprovação sem intervenção de administrador
  • REST API — as rotas de dados em detalhes: filtros, ordenação, paginação, erros
  • Auth endpoints — formatos de requisição e resposta para a tabela de autenticação acima
  • Environment & Configuration — as variáveis que definem quais destas rotas são montadas