Í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.
Gates (Restrições de acesso)
Seção intitulada “Gates (Restrições de acesso)”| 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.
Autenticação
Seção intitulada “Autenticação”| 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 |
Administração
Seção intitulada “Administração”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.
Armazenamento (Storage)
Seção intitulada “Armazenamento (Storage)”| 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.
Funções (Functions)
Seção intitulada “Funções (Functions)”| 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.
Metadados e operações
Seção intitulada “Metadados e operações”| 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.
Superfície MCP
Seção intitulada “Superfície MCP”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 |
Relacionado
Seção intitulada “Relacionado”- 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