Aller au contenu

Index des points de terminaison

Chaque route montée par le serveur, dans un seul tableau, avec les conditions requises pour y accéder.

Les chemins supposent le basePath par défaut /api ; REBASE_BASE_PATH les déplace tous ensemble. /health, /livez et /metrics se situent délibérément en dehors, car un orchestrateur sonde /health et ne devrait pas avoir à connaître le chemin de base. /health est également monté en dessous, afin que /api/health réponde de la même manière au lieu de renvoyer une 404 au moment précis où quelqu’un vérifie si le serveur est actif.

Un contrôle automatique — tooling/scripts/docs-verify/check-endpoint-index.mjs — compare ce tableau aux routes enregistrées par le code source, de sorte qu’une nouvelle surface ne peut pas être ajoutée sans apparaître ici.

Contrôle Signification
none Non authentifié. Toute personne pouvant joindre l’hôte peut l’appeler
session Un appelant connecté : un jeton d’accès ou une clé d’API restreinte à l’opération
admin Une session admin, une clé de service ou une clé d’API avec une portée admin
RLS Authentifié, puis la base de données décide ligne par ligne — voir Règles de sécurité
dev Monté uniquement hors production

Généré par collection, les chemins utilisent donc vos slugs plutôt qu’une liste fixe. :slug est le slug d’une collection.

Méthode Chemin Contrôle En savoir plus
GET /api/data/collections session API REST
GET /api/data/:slug RLS Requêtage
POST /api/data/:slug RLS API REST
GET /api/data/:slug/count RLS Requêtage
GET /api/data/:slug/aggregate RLS API REST
GET /api/data/:slug/:id RLS API REST
PATCH /api/data/:slug/:id RLS API REST
PUT /api/data/:slug/:id RLS Alias obsolète de PATCH — même écriture partielle, répond Deprecation: true
DELETE /api/data/:slug/:id RLS API REST
POST /api/data/:slug/bulk RLS Insérer plusieurs lignes, avec upsert optionnel — API REST
PATCH /api/data/:slug/bulk RLS Mettre à jour plusieurs lignes par id — API REST
POST /api/data/:slug/bulk/delete RLS Supprimer plusieurs lignes par id — API REST
POST /api/data/_batch RLS Écrire à travers plusieurs collections en une transaction — Écriture via REST
GET /api/data/:slug/:id/history RLS Historique des entités
POST /api/data/:slug/:id/history/:historyId/revert RLS Historique des entités

Le comptage et l’agrégation sont des routes à part entière, enregistrées avant /:id afin que aggregate ne soit pas interprété comme un id d’entité. ?select= et ?groupBy= sont leurs paramètres, et select est requis sur /aggregate.

La recherche textuelle, la recherche vectorielle, l’inclusion de relations et la sélection de champs sont des paramètres de requête sur GET /api/data/:slug plutôt que des routes distinctes — search, vector_search, include, fields. Voir API REST.

Un projet qui ne déclare aucune collection et n’en inspecte aucune sert ce préfixe avec une simple erreur 404 NO_COLLECTIONS. Voir Backend uniquement.

Méthode Chemin Contrôle En savoir plus
POST /api/auth/register none Authentification
POST /api/auth/login none Points de terminaison d’authentification
POST /api/auth/refresh none (un jeton de rafraîchissement) Points de terminaison d’authentification
POST /api/auth/logout session Points de terminaison d’authentification
GET /api/auth/me session Points de terminaison d’authentification
PATCH /api/auth/me session Points de terminaison d’authentification
GET /api/auth/sessions session Points de terminaison d’authentification
DELETE /api/auth/sessions session Révoque toutes les autres sessions
DELETE /api/auth/sessions/:id session En révoque une
POST /api/auth/forgot-password none Authentification
POST /api/auth/reset-password none (un jeton de réinitialisation) Authentification
POST /api/auth/change-password session Authentification
POST /api/auth/send-verification session Authentification
GET /api/auth/verify-email none (un jeton de vérification) Authentification
POST /api/auth/magic-link none Authentification
POST /api/auth/magic-link/verify none (un jeton de lien) Authentification
POST /api/auth/otp none Codes à usage unique par e-mail
POST /api/auth/otp/verify none (un code) Codes à usage unique par e-mail
POST /api/auth/anonymous none Sessions d’invités. Désactivé sauf si ALLOW_ANONYMOUS
POST /api/auth/anonymous/link session (un invité) Transforme un invité en compte
POST /api/auth/find-user session Désactivé sauf si AUTH_ALLOW_USER_LOOKUP — il s’agit d’une surface d’énumération
POST /api/auth/:provider none Un par fournisseur OAuth/OIDC configuré
POST /api/auth/link/:provider session Associe un fournisseur au compte connecté
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 (une connexion en cours) MFA
POST /api/auth/mfa/challenge/verify none (un identifiant de défi) MFA
GET /.well-known/jwks.json none Le JWKS public, lorsque la signature asymétrique est configurée

Tout ce qui se trouve sous /api/admin nécessite une session admin, une clé de service ou une clé d’API avec une portée admin. Aucun privilège unique : une clé restreinte à une collection ne peut accéder à rien de tout cela.

Méthode Chemin Contrôle En savoir plus
POST /api/admin/bootstrap none, et uniquement si aucun admin n’existe Refusé en production — voir Initialisation du premier utilisateur
GET /api/admin/users admin Gestion des utilisateurs
POST /api/admin/users admin Gestion des utilisateurs
GET /api/admin/users/:uid admin Gestion des utilisateurs
PUT /api/admin/users/:uid admin Gestion des utilisateurs
DELETE /api/admin/users/:uid admin Gestion des utilisateurs
POST /api/admin/users/:uid/reset-password admin Délivre un mot de passe temporaire
GET /api/admin/roles admin Les rôles déclarés par le projet
GET /api/admin/api-keys admin Clés d’API
POST /api/admin/api-keys admin La clé en texte brut n’est renvoyée qu’une seule fois, à sa création
GET /api/admin/api-keys/:id admin Clés d’API
PUT /api/admin/api-keys/:id admin Clés d’API
DELETE /api/admin/api-keys/:id admin Clés d’API
GET /api/admin/cron admin Tâches Cron
GET /api/admin/cron/:id admin Tâches Cron
PUT /api/admin/cron/:id admin Activer ou désactiver une tâche
GET /api/admin/cron/:id/logs admin Tâches Cron
POST /api/admin/cron/:id/trigger admin Exécuter une tâche maintenant
GET /api/admin/backups admin Inventaire des sauvegardes
GET /api/admin/backups/download admin Télécharge une sauvegarde en streaming
GET /api/admin/logs admin Le tampon des logs récents
GET /api/admin/logs/latest admin Les entrées les plus récentes
GET /api/admin/logs/stream admin Événements envoyés par le serveur (SSE)
GET /api/admin/rls-audit admin Le dernier résultat de l’audit planifié
GET /api/admin/schema/status admin Édition de schéma en direct
POST /api/admin/schema/plan admin Planifie une modification ; ne l’applique jamais
POST /api/admin/schema/apply admin Désactivé sauf si REBASE_LIVE_SCHEMA_ALLOW_MACHINE_APPLY
GET /api/admin/schema-editor/status admin Si l’éditeur est disponible, et la raison s’il ne l’est pas
POST /api/admin/schema-editor/collection/save admin Studio — réécrit le code source de la collection
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 interceptés par le transport de développement au lieu d’être envoyés

/api/admin/cron, /api/admin/logs et /api/admin/schema-editor sont également servis sur leurs chemins antérieurs à la version 0.17 sans le segment /admin. Ces alias sont destinés aux projets qui n’ont pas encore migré ; écrivez le nouveau code en utilisant le chemin canonique.

Méthode Chemin Contrôle En savoir plus
POST /api/storage/upload session + storageAuthorize Stockage
GET /api/storage/file/* session + storageAuthorize Stockage
DELETE /api/storage/file/* session + storageAuthorize Stockage
GET /api/storage/metadata/* session + storageAuthorize Stockage
GET /api/storage/list session + storageAuthorize Stockage
POST /api/storage/folder session + storageAuthorize Stockage
GET /api/storage/sources session Les sources de stockage nommées desservies par ce backend
POST /api/storage/tus session + storageAuthorize Téléversements avec reprise : création
GET /api/storage/tus/:id propriétaire du téléversement Téléversements avec reprise : décalage
PATCH /api/storage/tus/:id propriétaire du téléversement Téléversements avec reprise : ajout de données
DELETE /api/storage/tus/:id propriétaire du téléversement Téléversements avec reprise : annulation

Un déploiement sans stockage configuré sert ce préfixe avec une erreur 501 indiquant la variable nécessaire, plutôt que de renvoyer une 404 comme si la fonctionnalité n’existait pas.

Méthode Chemin Contrôle En savoir plus
any /api/functions/<name> ce que la fonction déclare Fonctions personnalisées

Une route par fichier sous backend/functions/, les chemins proviennent donc de votre projet. GET /api/functions ne les liste pas : l’inventaire des points de terminaison personnalisés d’un déploiement n’est pas public.

Méthode Chemin Contrôle En savoir plus
GET /livez none Liveness seule : ce processus est-il en cours d’exécution. Ne touche pas à la base de données, c’est pourquoi il s’agit du chemin de sonde qu’un conteneur doit utiliser — RUNTIME_LIVENESS_PATH
GET /health, /api/health none Liveness et readiness. Signale chaque source de données configurée, pas seulement celle par défaut
GET /api/docs none (admin en production) Le document OpenAPI 3.0
GET /api/swagger none Swagger UI. En développement uniquement sauf si REBASE_ENABLE_SWAGGER
GET /api/meta/schema-version none Le hachage du schéma à partir duquel ce backend a été construit, et rien d’autre
GET /api/meta/contract admin Le contrat complet des collections, pour rebase generate-sdk --from. 404 si aucune authentification n’est configurée
GET /metrics REBASE_METRICS_TOKEN si défini Métriques Prometheus, lorsque REBASE_METRICS=true
GET /metrics/history REBASE_METRICS_TOKEN si défini Les séries enregistrées alimentant les graphiques du Studio. 501 sur un runtime sans backend

Les connexions WebSocket arrivent sous forme de mise à niveau HTTP (HTTP upgrade) sur le même serveur plutôt que sur un chemin qui leur est propre — voir Temps réel.

Montée uniquement lorsque REBASE_MCP_ENABLED=true, ce qui nécessite également REBASE_PUBLIC_URL — voir Configuration. Désactivé par défaut : aucun REBASE_ROLE ne l’active, car cela donne accès au projet à un logiciel tiers et c’est une décision qui appartient à une personne.

Les documents .well-known se situent à la racine (origin), et non sous basePath : la RFC 8414 et la RFC 9728 définissent ces chemins par rapport à l’origine, et un client les récupère avant même de détenir le moindre jeton.

Méthode Chemin Contrôle En savoir plus
GET /.well-known/oauth-protected-resource none Métadonnées de la RFC 9728 identifiant cette ressource et son serveur d’autorisation. Servies également sous la forme avec suffixe de chemin
GET /.well-known/oauth-authorization-server none Métadonnées de la RFC 8414 : les points de terminaison, types d’octroi et méthodes PKCE pris en charge par ce déploiement
POST /mcp Bearer OAuth Le point de terminaison du protocole MCP. Agit en tant qu’utilisateur connecté, chaque lecture et écriture est donc soumise aux mêmes RLS
GET /mcp Bearer OAuth Répond 405 avec Allow: POST, DELETE : ce serveur n’ouvre aucun flux initié par le serveur. Le jeton est vérifié en premier, donc un jeton manquant ou expiré reçoit plutôt le défi 401
DELETE /mcp none Répond 204. Le point de terminaison ne conserve aucune session, il n’y a donc rien à terminer
POST /api/oauth/register limitation de débit Enregistrement dynamique de client RFC 7591. Refusé lorsque REBASE_MCP_OPEN_REGISTRATION=false
GET /api/oauth/authorize session L’écran de consentement vers lequel un client est redirigé
POST /api/oauth/authorize/decision session La réponse de la personne à celui-ci — approuver ou refuser
POST /api/oauth/token identifiants client + PKCE Échange un code d’autorisation, ou rafraîchit
POST /api/oauth/revoke identifiants client Révocation de jeton RFC 7009
GET /api/oauth/grants session Quels clients cet utilisateur a approuvés
DELETE /api/oauth/grants/:clientId session En révoque un, afin qu’une personne puisse annuler un consentement sans admin