Í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 |
| admin | Uma sessão de administrador, uma chave de serviço ou uma chave de API com escopo de administraçã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 |
GET |
/api/data/:slug/count |
RLS | Querying |
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 |
|---|---|---|---|
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/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/challenge |
none (um login em andamento) | MFA |
POST |
/api/auth/mfa/challenge/verify |
none (um id de desafio) | MFA |
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 uma sessão de administrador, uma chave de serviço ou uma
chave de API com escopo de administração. Não um privilégio qualquer: uma chave com escopo para uma coleção
não acessa nada disso.
| 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 |
admin | Gerenciamento de usuários |
POST |
/api/admin/users |
admin | Gerenciamento de usuários |
GET |
/api/admin/users/:uid |
admin | Gerenciamento de usuários |
PUT |
/api/admin/users/:uid |
admin | Gerenciamento de usuários |
DELETE |
/api/admin/users/:uid |
admin | Gerenciamento de usuários |
POST |
/api/admin/users/:uid/reset-password |
admin | Emite uma senha temporária |
GET |
/api/admin/roles |
admin | As roles que o projeto declara |
GET |
/api/admin/api-keys |
admin | API keys |
POST |
/api/admin/api-keys |
admin | A chave em texto simples é retornada uma vez, na criação |
GET |
/api/admin/api-keys/:id |
admin | API keys |
PUT |
/api/admin/api-keys/:id |
admin | API keys |
DELETE |
/api/admin/api-keys/:id |
admin | API keys |
GET |
/api/admin/cron |
admin | Cron Jobs |
GET |
/api/admin/cron/:id |
admin | Cron Jobs |
PUT |
/api/admin/cron/:id |
admin | Habilita ou desabilita um job |
GET |
/api/admin/cron/:id/logs |
admin | Cron Jobs |
POST |
/api/admin/cron/:id/trigger |
admin | Executa um job agora |
GET |
/api/admin/backups |
admin | Inventário de backups |
GET |
/api/admin/backups/download |
admin | Transmite um backup via stream |
GET |
/api/admin/logs |
admin | O buffer de logs recentes |
GET |
/api/admin/logs/latest |
admin | As entradas mais recentes |
GET |
/api/admin/logs/stream |
admin | Server-sent events |
GET |
/api/admin/rls-audit |
admin | O resultado mais recente da auditoria agendada |
GET |
/api/admin/schema/status |
admin | Live schema editing |
POST |
/api/admin/schema/plan |
admin | Planeja uma alteração; nunca aplica |
POST |
/api/admin/schema/apply |
admin | Desativado a menos que REBASE_LIVE_SCHEMA_ALLOW_MACHINE_APPLY |
GET |
/api/admin/schema-editor/status |
admin | Se o editor está disponível, e a razão quando não está |
POST |
/api/admin/schema-editor/collection/save |
admin | Studio — reescreve o código-fonte da coleção |
POST |
/api/admin/schema-editor/collection/delete |
admin | Studio |
POST |
/api/admin/schema-editor/property/save |
admin | Studio |
POST |
/api/admin/schema-editor/property/delete |
admin | Studio |
GET |
/api/admin/dev/emails |
dev | E-mails que o transporte de desenvolvimento capturou em vez de enviar |
/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 |
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 |
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 | 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 (admin 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 |
admin | 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 | O endpoint do protocolo MCP. Atua como o usuário conectado, portanto cada leitura e escrita está sujeita ao mesmo RLS |
GET |
/mcp |
OAuth bearer | 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