Générer une signed URL
GET
/v1/storage/{project_id}/{bucket}/signed-urlURL signée HMAC pour partager un objet privé avec une durée de validité. C'est un GET à paramètres de requête, pas un POST à corps JSON.
#
Request
Query params
#
Notes
Sécurité
Astuce
La signature porte sur le quadruplet méthode + bucket + clé + expiration : une URL pour
/a.pdf ne peut pas servir pour /b.pdf, ni un GET signé servir de PUT. L'autorisation est vérifiée au moment de la signature, pas à l'usage. Un secret de signature par projet permet d'invalider en bloc toutes les URL émises : POST /v1/storage/{project_id}/rotate-secret.#
Notes
Upload signé
Info
Pour un upload direct,
GET /v1/storage/{project_id}/{bucket}/upload-url émet une URL PUT (TTL par défaut 300 s côté backend ; le SDK JS, lui, transmet 3600 s par défaut). Cette route est réservée à service_role. Les deux routes partagent une limite par IP d'un jeton toutes les 3 s, burst 5.v1.0 · révisé 15 avr. 2026