Aurabase Logo
aurabasedocs
docsRéférenceAPI REST

API REST — Vue d'ensemble

Surface HTTP brute d'Aurabase. Compatible avec tous les langages. Base URL, authentification, format de réponse, codes d'erreur — puis détails par endpoint dans /docs/api/*.

7 min de lecture·Niveau référence·Révisé le 15 avr. 2026
#
URL

Base URL par projet

§ 01

Chaque projet expose un domaine unique : https://<project_id>.aurabase.dev. Les surfaces sont préfixées /rest/v1 (Database), /auth/v1 (Auth), /storage/v1 (Storage), /realtime/v1 (Realtime), /functions/v1 (Functions).

exemples
BASH
https://a7f3c2e1.aurabase.dev/rest/v1/sensors
https://a7f3c2e1.aurabase.dev/auth/v1/signin/password
https://a7f3c2e1.aurabase.dev/storage/v1/object/avatars/u_xx/file.png
#
Auth

Deux clés, un JWT

§ 02
  • anon_key — publiable. Sert d'API key pour toute requête. Header apikey.
  • service_role_key — secrète, bypass RLS. Réservée au backend.
  • user_jwt — émis par /auth/v1/signin après authentification. Header Authorization: Bearer.
headers.sh
BASH
# Client anonyme (guest)
-H "apikey: <ANON_KEY>"
# Client authentifié (claims user)
-H "apikey: <ANON_KEY>"
-H "Authorization: Bearer <USER_JWT>"
# Backend (bypass RLS)
-H "apikey: <SERVICE_ROLE_KEY>"
-H "Authorization: Bearer <SERVICE_ROLE_KEY>"
#
Headers

Standards appliqués

§ 03
  • Content-Type: application/json — requis sur POST/PATCH/PUT
  • Accept: application/json — défaut. Optionnellement text/csv, application/vnd.pgrst.object+json
  • Prefer: return=representation — retourne les lignes créées/modifiées. minimal pour bodyless
  • Range: 0-49 — pagination style HTTP Range
  • Idempotency-Key — déduplication 24h sur POST
#
Erreurs

Format uniforme

§ 05
error-shape
JSON
{
"error": "PGRST116", // code stable
"message": "JSON object requested, multiple (or no) rows returned",
"details": "...",
"hint": "use .maybeSingle() if optional",
"trace_id": "4a2e..."
}
CodeNomDescription
400Bad RequestPayload invalide ou query malformée. Voir field details.
401Unauthorizedapikey manquante ou JWT invalide/expiré.
403ForbiddenRLS policy refuse l'opération. Claims du JWT insuffisants.
404Not FoundRessource inexistante ou invisible par RLS.
409ConflictViolation de contrainte unique. Utiliser on_conflict pour upsert.
413Payload Too LargeRequest > 50 MB. Utiliser resumable upload pour storage.
429Too Many RequestsRate limit atteint. Header Retry-After indique le délai.
500Internal ErrorErreur serveur. trace_id retourné pour support.
503Service UnavailableCircuit breaker ouvert. Retry après 30s.
#
Rate limit

Par IP, par projet, par rôle

§ 06
  • anon : 100 req/sec par IP, burst 200
  • authenticated : 1000 req/sec par user, burst 2000
  • service_role : 10 000 req/sec par projet, burst 20 000
Attention
Dépassement → 429 Too Many Requests avec headers X-RateLimit-Remaining et Retry-After. Le SDK retry automatiquement avec backoff exponentiel.
#
Endpoints

Arbre complet par service

§ 07

Chaque endpoint a sa page dédiée avec paramètres, response codes, exemples dans 5 langages et code rail live.

Dernière mise à jour · 15 avr. 2026